Kezdőoldal » Számítástechnika » Programozás » Hogy lehet ezt a programot...

Hogy lehet ezt a programot egyszerűbben megírni pascalban?

Figyelt kérdés

Egy olyan programot írok, amely megvizsgálja az adott számról, hogy prím-e. Ahhoz, hogy ne kelljen külön felsorolni így a prímeket:

a - változó;

(a mod 3=0) or

(a mod 5=0) or

(a mod 7=0) or stb.


hogy lehetne egyszerűbben, pl. csak felsorolni a prímeket?


Előre is köszönöm a választ, ja és itt a teljes programkód:


[link]


2011. okt. 21. 17:58
1 2
 1/12 anonim ***** válasza:

[link]


a delphi ugyanolyan pascal szinte, meg kell tudni ebből írni.

2011. okt. 21. 18:03
Hasznos számodra ez a válasz?
 2/12 A kérdező kommentje:
bocsi, de ebből nem tudok kiindulni :(
2011. okt. 21. 18:14
 3/12 anonim ***** válasza:

Mit nem értesz ebből? Az első tökéletes megoldást adott.

Indítasz egy ciklust 2-től a vizsgált szám-1-ig, mivel az 1 mindig osztója egy számnak ahogy, maga a szám is.

Ha a vizsgált számot osztod a ciklusváltozóval és a maradék nulla, akkor azt jelenti, hogy osztódik egy 2-től és önmagán kivűli számmal, vagyis a szám _NEM_ prímszám.

Ilyenkor kiléptet a ciklusból a breakkel. Egyébként ha gond nélkül végigfutott a ciklus, akkor _Prímszám_.

2011. okt. 21. 18:42
Hasznos számodra ez a válasz?
 4/12 anonim ***** válasza:

Oh bmeg... Ez pont megvan de nincs kedvem átmászni linuxra...

Na mind1 azért felvázolom a megoldást nagy vonalakban.


readln(szam);

prim:=true;

for i:=2 to szam div 2 do

if szam mod i=0 then prim:=false;


if prim=false then writeln('nem prim') else writeln('prim');

2011. okt. 21. 18:51
Hasznos számodra ez a válasz?
 5/12 anonim ***** válasza:
Ha nem működik akkor szólj és átmászok.
2011. okt. 21. 18:52
Hasznos számodra ez a válasz?
 6/12 A kérdező kommentje:

nagyonszépen köszönöm a válaszokat, a felsőt most próbálom értelmezni....

igazából csk fél év mulva fogjuk tanulni a suliba, de én már nem bírtam ki, ugyhogy még elég kezdő vagyok...

szólok ha megvan :P

2011. okt. 21. 19:01
 7/12 A kérdező kommentje:
ez amúgy nem azt ellenőrzi, hogy páros, vagy páratlan?? mert nekem úgy tűnik :))
2011. okt. 21. 19:04
 8/12 anonim ***** válasza:

A 2. válaszoló vagyok!

Igazából elég a számot a négyzetgyökéig megnézni. Ez gyorsít rajta valamit.

for i:=2 to trunc(sqrt(szam)) do...

2011. okt. 21. 19:04
Hasznos számodra ez a válasz?
 9/12 A kérdező kommentje:
igen, így is csinálom, a változó word, úgyhogy 65506 vagy valami ilyensmiig fogadja be, ugyhogy csk 255ig írom fel :)) köszönöm ezt a segítőkészséget!!
2011. okt. 21. 19:08
 10/12 A kérdező kommentje:

azt amugy a matektanarom is mondta, hogy a számnak az osztóit elég a négyzetgyökéig megvizsgálni, de ez nem igaz.

pl gyök(2648)=51.468...

prímosztói: 3, 883.

2011. okt. 22. 14:05
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!