Kezdőoldal » Számítástechnika » Programozás » Segítene. Valaki. Pascal-ban?

Segítene. Valaki. Pascal-ban?

Figyelt kérdés

Pl. beolvasok 8-at és azt akarom,hogy kiírja az összes prim számot ami 8 számjegyű

Hogyan csinálom ?

Köszönöm előre is!


2011. márc. 3. 22:00
1 2
 1/11 anonim ***** válasza:

A legegyszerűbb (és legszámításigényesebb megoldás) két ciklus: lépsz számról számra, és megnézed, van-e osztója (elosztod, ha van maradék, akkor nem osztója) majd így mész számról-számra.


Baromi sok CPU időt igényel, és elég sokáig tart, de ennél egyszerűbb nincs :)

2011. márc. 3. 22:05
Hasznos számodra ez a válasz?
 2/11 A kérdező kommentje:

Most te viccelsz ? Kb.ennyit én is elképzeltem

Arra voltam kíváncsi,hogy ez hogyan nézne ki Pascal-ban

legalább egy kis ízelítő lehetne

2011. márc. 3. 22:08
 3/11 anonim ***** válasza:

Ha tudsz pascalban programozni, akkor ezt tudni kéne. Ezért írtam a legalapabb verziót.


Két ciklus. Annyiszor 10*10, ahány a beolvasott szám: ez lesz az induló szám, és még egyszer 10, -1 a maximum szám.


Az első ciklus egyesével fog lépkedni ezen számok között.


A második indul 2-től (az 1 biztosan osztó) egészen 10*10 beolvasott számszor -1-ig tart. Minden egyes számmal végzel egy maradékos osztást: ha a maradék nagyobb, mint 0-a, akkor nem osztó. Abban a pillanatban, ha találsz egy maradékot, a szám máris mehet a kukába, és léphet tovább az első ciklus.


És így szépen meglesz a prímszámok.

2011. márc. 3. 22:14
Hasznos számodra ez a válasz?
 4/11 anonim ***** válasza:

for i=10000000 to 99999999 do

for j=1 to i do

x=i/j stb...

2011. márc. 3. 22:22
Hasznos számodra ez a válasz?
 5/11 anonim ***** válasza:
Javítok: for j=2 to i do
2011. márc. 3. 22:23
Hasznos számodra ez a válasz?
 6/11 anonim ***** válasza:

var

i,j:longint;

vanoszto:boolean;

begin

for i:=10000000 to 99999999 do {tesztelendo szamok ettol eddig}

begin

vanoszto:=false;{aktualis i-re beallitom hogy nincs oszto}

for j:=2 to i-1 do{letesztelem hogy prim e}

if i mod j = 0 then {ha talaltam osztot akkor }

vanoszto:=true;{ vanoszto erteket igazra allitom}

if not vanoszto then{ ha nem talaltam osztot akkor}

write(i,' '); {kiirom a primtesztelt szamot}

end;


end.

2011. márc. 3. 23:43
Hasznos számodra ez a válasz?
 7/11 anonim ***** válasza:

Ha csak kicsit nem spórolunk az egyszerűséggel akkor csak a négyzetgyökéig teszteljük a számot (sqrt függvénnyel) és sokkal gyorsabb.

var

i,j:longint;

vanoszto:boolean;

begin

for i:=10000000 to 99999999 do {tesztelendo szamok ettol eddig}

begin

vanoszto:=false;{aktualis i-re beallitom hogy nincs oszto}

for j:=2 to trunc(sqrt(i)) do{letesztelem hogy prim e}

if i mod j = 0 then {ha talaltam osztot akkor }

vanoszto:=true;{ vanoszto erteket igazra allitom}

if not vanoszto then{ ha nem talaltam osztot akkor}

write(i,' '); {kiirom a primtesztelt szamot}

end;


end.

2011. márc. 3. 23:50
Hasznos számodra ez a válasz?
 8/11 anonim ***** válasza:

Miért nem használ senki elöl/hátultesztelős ciklust?


while ((j<trunc(sqrt(i)) and (i mod j<>0)) do

j:=j+1;

vanoszto:=(j<trunc(sqrt(i))

2011. márc. 4. 08:36
Hasznos számodra ez a válasz?
 9/11 anonim ***** válasza:

Most nézem hogy rosszul van írva a 23:43 és 23:50 nem stimmel

for i:=1000000 to 999999 do sor helyett

for i:=10000000 to 99999999 do kellene lenni, tegnap ki is próbáltam őket, ma meg kimásoltam az oldalról és kipróbáltam és nem stimmelt ... Az még hagyján hogy a szépen tagolt sorok tagolását elrontja az oldal de hogy még ezen felül a vágólapról beillesztett szöveget is elcseszerinti, ilyet még nem láttam.

Ismét kipróbálom a beillesztést:

var

i,j:longint;

vanoszto:boolean;

begin

for i:=10000000 to 99999999 do {tesztelendo szamok ettol eddig}

begin

vanoszto:=false;{aktualis i-re beallitom hogy nincs oszto}

for j:=2 to trunc(sqrt(i)) do{letesztelem hogy prim e}

if i mod j = 0 then {ha talaltam osztot akkor }

vanoszto:=true;{ vanoszto erteket igazra allitom}

if not vanoszto then{ ha nem talaltam osztot akkor}

write(i,' '); {kiirom a primtesztelt szamot}

end;


end.

2011. márc. 4. 11:29
Hasznos számodra ez a válasz?
 10/11 anonim ***** válasza:

Ez marha jó Valaki be tudja írni ezt a sort? Csak a feladatnak megfelelő méretű hosszú számokkal?

for i:=10000000 to 99999999 do

2011. márc. 4. 11:33
Hasznos számodra ez a válasz?
1 2

Kapcsolódó kérdések:




Minden jog fenntartva © 2025, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!