[ Djuki @ 06.12.2001. 17:21 ] @
Napisati program koji ce da formira novi niz od prostih brojeva datog niza. Broj clanova se unosi sa tastature(0<n<201) kao i niz. Negativni brojevi se takodje uzimaju u obzir. |
[ Djuki @ 06.12.2001. 17:21 ] @
[ random @ 06.12.2001. 18:58 ] @
Zadatak je dosta lak, osim možda ovog algoritma za određivanje da li je broj prost.
Mislim da je najefikasnije da u for petlji vrtiš neko i od 2 do [sqrt(n)] (kvadratni koren iz n, zaokružen celobrojno naniže) i proveravaš u svakoj iteraciji da li je ostatak pri deljenju n / i jednak nuli, ako jeste, broj nije prost, ako prođeš celu petlju i ne dobiješ ostatak 0, onda je broj prost i upisuješ n u drugi niz (prostih brojeva). Iz pedagoških razloga lično mi ne pada na pamet da ti pišem gotov program, ali nadam se da to nisi ni očekivao. Sad sedi napiši, i javi šta si uradio. [ Makojdis @ 06.12.2001. 19:29 ] @
Mrzelo me da radim sve ali evo ti jedan deo
Ovo ti je za prost broj Code: i,n,koren:integer; koren:=round(sqrt(n)); i:=3; while (n mod i<>0) and (i<=koren) do i:=i+2; if i>koren then write(n) <<n je prost [ Toni @ 07.12.2001. 08:27 ] @
Code: Program Prost_Broj; Var N,I:Integer; Prost:Boolean; Begin Write('Unesi neki broj :');readln(N); Prost:=TRUE; For I:=2 to TRUNC(SQRT(N)) do If N mod I=0 THEN Prost:=FALSE; If Prost THEN Writeln('Broj je prost') ELSE Writeln('Broj nije prost'); Readln; END. Napravi od ovoga proceduru koja vraca true or false i onda uradi jedan for sa IFom koji pita racimo prost(p) then trlalala :) [ Djuki @ 07.12.2001. 08:40 ] @
Ovako:
hvala ti random na pomoci. Nisam ni ocekivao kompletno reshenje vec samo smernicu. Posle tvog posta sam napisao proram indentican tonijevom tao da je glupo da ga postujem. majdoksov kod nije dobar cini mi se jer za svaki broj kaze da je prost. Hvala svima na pomoci ali cu najverovatnije fljujsnuti(pasti) na kolokvijumu :( [ B o j a n @ 07.12.2001. 11:52 ] @
Djuki, kolokvijumi iz P1 su bezveze, gubi se poenta .... jer mislim kao da ce ti na krajnjem ispitu oprostiti gradivo sa f-jama, proc. i petljama ???
Dakle, opusteno ... [ ventura @ 07.12.2001. 18:09 ] @
Ma onaj kolokvijum je bio smesan...
2 i 3 zadatak sam resio, u trecem sam imao problema da provalim sta mu dodje ono deltaX ... ali sam ukapirao na kraju... i dodje mu da je increment 0011223344 itd... i to samo isppise kao tabelu na kraju... a ja sam se zajebao jer sam onaj prvi zadatak samo napisao onako bezveze poslenji, jer stvarno nisam imao pojma sta je mantisa a sta one druge gluposti... i onda mi je mettallica reko da ce da racunaju dva najslabije uradjena... jebiga... [ PrivlaCnA @ 07.12.2001. 22:47 ] @
Ventura, nisam znala da si i ti na Visoj.
i ja sam uradila drugi i treci. u trecem je najbitnije da dobro uradis funkciju. Kod glavnog programa treba da uneses Xmax, Xmin i dX . I onda ti treba ciklus u kome ces da mijenjas vrijednost promjenjive X od Xmin do Xmax tako sto ces je povecavati svaki put za dX. Najbolje ce se odraditi u while petlji. Nego, ventura, ti imas dugu kosu ?? [ ventura @ 07.12.2001. 23:52 ] @
Ma ja sam se zajebao... ja sam nalupao onaj prvi zadatak, mada midlim da sam ok odgovorio al uradio sam ga cisto smora radi... i nisam napisao koja dva da oceni.. tu sam se ujebao...
Nemam dugu kosu... boze svasta... Poslacu ti na mail moju sliku... [ Gojko Vujovic @ 07.12.2001. 23:55 ] @
Ventura, ti si ono prestao da se baviš kompjutorima, šta ćeš onda na NRT?
Čak bi ti i ekonomski bolje pasovao po tom pitanju.. [ ventura @ 07.12.2001. 23:58 ] @
nego.. za deltaX ... koliko sam ja ukapirao ta vrednost se ne unosi... vec se ona racuna...
deltaX mu dodje razlika sadasnjeg X-a i X-a iz predhodnog kruga for petlje... [ ventura @ 08.12.2001. 00:02 ] @
Pa... vise razloga... Upisao sam FON (www.intelli.co.yu/skola.jpg)... ali nemam nameru da 6 godina provedem kao neki debil studirajuci... a da hocu da studiram i da zavrsim FON, moram svo svoje vreme da posevtim tome... A to nemam nameru..
NRT, traje 2.5 godine, nalazi se na 15min laganog pesacnja od moje kuce, gradivo je cista zajebancija, i sa minimalno truda zavrsicu ga u roku i imacu neki papir u dzepu... sa kojim naravno mogu obrisati dupe, ali me zabole k****, jer FON, PMF ili ETF diplome nemogu ni za to da posluze.. jer su stampane na tvrdjem papiru... [ kajla @ 21.12.2001. 19:24 ] @
Citat: ventura: Pa... vise razloga... Upisao sam FON (www.intelli.co.yu/skola.jpg)... ali nemam nameru da 6 godina provedem kao neki debil studirajuci... a da hocu da studiram i da zavrsim FON, moram svo svoje vreme da posevtim tome... A to nemam nameru.. NRT, traje 2.5 godine, nalazi se na 15min laganog pesacnja od moje kuce, gradivo je cista zajebancija, i sa minimalno truda zavrsicu ga u roku i imacu neki papir u dzepu... sa kojim naravno mogu obrisati dupe, ali me zabole k****, jer FON, PMF ili ETF diplome nemogu ni za to da posluze.. jer su stampane na tvrdjem papiru... Aj ventura nemoj srati molim te. poz. [ kajla @ 21.12.2001. 19:28 ] @
Ventura, čisto me zanima da li ti mogao da objasniš zašto je za prirodan broj n dovoljno proveravati da li je on deljiv sa brojevima od 2 do sqrt(n), da bi se videlo da li je broj prost ili ne?
poz. [ random @ 24.12.2001. 19:08 ] @
Obzirom da sam ja bio taj koji je predložio [sqrt(n)] (celobrojno zaokruženo naniže), moram da te pitam da li ti to samo hoćeš da proveriš venturino znanje ili zaista ne znaš/ne shvataš?
[ matijs @ 06.12.2007. 14:59 ] @
using System;
using System.Collections.Generic; using System.Text; namespace ConsoleApplication1 { class Program { static bool prostbroj(int n) { bool pom = true; int i; for (i = 2; i <= n; i++) { if (n % i == 0) pom = false; } return pom; } static void Main(string[] args) { int[] a = new int[100]; int n,i; Console.Write("Unesi n:"); n = Convert.ToInt32(Console.ReadLine()); for (i = 1; i <= n; i++) { a = Convert.ToInt32(Console.ReadLine()); } for (i = 1; i <=n; i++) { if (prostbroj(a)) { Console.Write(a.ToString()); } } Console.ReadLine(); } } } // Program je veoma jednostavan!!! Na pocetku napravis metodu ili funkciju. U njoj proveravas da li je neki broj pros i ako je prost funkcija treba da ti vraca povratnu vrednost. Posle generises niz od n clanova i ispitujes da li je a prost broj i ako jeste ispisi ga. Ovaj zadatak sam imao prosle godine na opstinskom takmicenju osnovnih skola za sedme razrede. Prosto!!! Prebaci ga samo u Paskal, a ako hoces mogu da ti ga otkucam i u C++. [ Nemanja_666 @ 07.12.2007. 10:45 ] @
Da dam i svoj doprinos.
Koliko sam video resenja bi bila spora da se radi o nizovima od 100 000 000 clanova. Zato cemo to uradi ovako: napravimo booloean niz od 2..N i postavimo na true; idemo od pocetka niza i na koji element naidjemo da ima vrijednost true on je prost broj x. Nakon sto naidjemo na prost broj zatim idemo drugom petljemo i izbacujemo iz niza sve x * k (gdje je k > 1). ovako nesto Code: var i, j : integer; Niz : array[2..100000000] of boolean; begin for i := 2 to 100000000 do Niz[i] := true; for i := 2 to 100000000 do if Niz[i] then begin Writeln(i); j := 2; while (i * j) > 100000000 do begin Niz[j * i] := false; j :+ j + 1; end; end; end. Copyright (C) 2001-2025 by www.elitesecurity.org. All rights reserved.
|