Kezdőoldal » Számítástechnika » Programozás » Első 20 prímszám kiírása Free...

Első 20 prímszám kiírása Free Pascalban. Hogyan?

Figyelt kérdés
2012. jan. 31. 17:56
1 2
 1/15 anonim ***** válasza:
51%
writeln ("2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 51, 53, 59, 61, 67");
2012. jan. 31. 18:16
Hasznos számodra ez a válasz?
 2/15 iostream ***** válasza:
55%
Ugyanezt akartam írni, kedves első :D Rosszul megfogalmazott kérdésre triviális válasz.
2012. jan. 31. 18:52
Hasznos számodra ez a válasz?
 3/15 anonim ***** válasza:

Nem fogom leírni hogy kell... nem is az számít, hanem a logikája.


1. Minden probléma megoldásánál az első lépes megfogalmazni a problémát. Ez esetben ez nem nehéz.


2. Ekkor (jobb esetben) felmerül benned a kérdés, mikor prím egy szám. Akkor ha összesen 2 osztója van 1 és önmaga.


3. Magyarul azt kell megvizsgálnod, hogy egy adott szám 1-nél nagyobb de nála kisebb számok esetnén van-e osztási maradék. Ha nincs akkor az adott szám nem lehet prím, hiszen a számod egy másikkal maradék nélkül osztható.


4. Innentől már csak pár ciklus vezet el a boldogságig, amiben számolod, hogy hány prímet találtál eddig és ellenőrzöd hogy az legfeljebb 20 legyen, illetve egy olyanra ami ]1;n[ intervallumban maradék nélkül osztható e a számod, ha n az adott szám (természetesen az intervallumot csak az egész számokra értjük).


Hajrá!

2012. jan. 31. 19:35
Hasznos számodra ez a válasz?
 4/15 A kérdező kommentje:
19:35 Kérleeek írd meg nekeeem :Á Elkezdtem, de csak szenvedek..:S
2012. jan. 31. 20:05
 5/15 anonim ***** válasza:

Jéé én vagyok a 19:35-ös :D

Nem írom le, már azért sem mert nem ismerem a nyelvet :D

De írj privit, segítek.

2012. jan. 31. 20:08
Hasznos számodra ez a válasz?
 6/15 anonim ***** válasza:

Nem elég, hogy nCoreon kaptál még példa kódot is?

Csak át kell írni C-ról pascalba...

2012. jan. 31. 21:40
Hasznos számodra ez a válasz?
 7/15 Prog válasza:
0%

program primszamok;

uses crt;

var i,sz:integer;


function primszam(sz:integer):boolean;

var z:real;

o:integer;

begin

primszam:=false;

z:=sqrt(sz);

o:=1;

repeat

o:=o+1;

until (sz mod o=0) or (o>=z);

if (sz mod o<>0) or (sz=1) or (sz=2) then primszam:=true;

end;


begin

clrscr;

sz:=1;

for i:=1 to 20 do

begin

sz:=sz+1;

if primszam(sz) then write(sz,', ');

end;

readkey;

end.

2012. febr. 1. 01:07
Hasznos számodra ez a válasz?
 8/15 Prog válasza:
0%

Ez így talán valamivel jobb az előző változatomtól:


program primszamok;

uses crt;

var i:integer;


function primszam(sz:integer):boolean;

var z:real;

o:integer;

begin

primszam:=false;

z:=sqrt(sz);

o:=1;

repeat

o:=o+1;

until (sz mod o=0) or (o>=z);

if sz mod o<>0 then primszam:=true;

end;


begin

clrscr;

for i:=1 to 20 do if primszam(i) then write(i,', ');

readkey;

end.

2012. febr. 1. 10:42
Hasznos számodra ez a válasz?
 9/15 anonim ***** válasza:
Kedves Prog amit te jobbnak tekintesz az olyan számot is kiír ami nem prím a 2-t kihagyja, az első változat legalább csak prímeket ír ki, ezen felül nem 20-ig kellenek a prímszámok hanem az első 20 prímszám kell.
2012. febr. 1. 11:09
Hasznos számodra ez a válasz?
 10/15 Prog válasza:

Harmadik változat:

program primszamok;

uses crt;

var i,drb:integer;


function primszam(sz:integer):boolean;

var z:real;

o:integer;

begin

primszam:=false;

z:=sqrt(sz);

o:=1;

repeat

o:=o+1;

until (sz mod o=0) or (o>=z);

if (sz mod o<>0) or (sz=1) or (sz=2) then primszam:=true;

end;


begin

clrscr;

drb:=0;

i:=1;

repeat

if primszam(i) then

begin

write(i,' ');

drb:=drb+1;

end;

i:=i+1;

until drb=20;

end.


:D

2012. febr. 1. 11:46
Hasznos számodra ez a válasz?
1 2

Kapcsolódó kérdések:





Minden jog fenntartva © 2024, 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!