Kezdőoldal » Számítástechnika » Programozás » Prímszámos programot írok...

Prímszámos programot írok pascalba, és nagyon elakadtam, segítség?

Figyelt kérdés

A múltkor már kiírtam egy kérdést, hogy hogyan tudom megcsinálni a prímszámmegmondó :P programot, az sikerült is, de csak a prímosztóit írta ki, és azt nem, hogy hányszor van meg a számban.


Rengeteget gondolkodtam, és sikerült is valamit összehozni, csak az ismétlésbe nem fogadja valamiért el azt, hogy y:=x/a; és az osztásjellel (/) van a hiba.


Valaki megkérem röviden írja le, mi a gond.


Itt a forráskód:


[link]


Előre is köszönöm :)


2011. okt. 23. 11:22
 1/7 anonim válasza:
Rossz a link. Rakd át a public könyvtárba vagy próbáld ne dropboxal megosztani.
2011. okt. 23. 11:34
Hasznos számodra ez a válasz?
 2/7 A kérdező kommentje:

igen, persze.

itt a link: [link]

2011. okt. 23. 11:36
 3/7 anonim ***** válasza:
Nem teljesen értem mit szeretnél elérni, de ha azt szeretnéd elérni, hogy a program megmondja egy számról, hogy prím-e, akkor egy ciklust végigfuttatsz 2-től a szám négyzetgyökéig, ill addig amíg nem találsz osztót, és megvizsgálod, hogy az osztási maradék 0-e, ha nem találtál osztót akkor nyilván primszám.
2011. okt. 23. 11:36
Hasznos számodra ez a válasz?
 4/7 A kérdező kommentje:
igen, azt sikerült, hogy prímszáme, most azt akarom, hogy megvizsgálja, hogy pl a 8 ban a 2 a harmadikonszor van meg, tehát, hogy prímtényezőre bontsa...
2011. okt. 23. 11:39
 5/7 ejbenjaro ***** válasza:
Azért kapsz hibaüzenetet, mert az osztás sosem egész típusú eredményt ad. Tehát az y változód nem lehet word típusú ha osztás eredményét akarod benne tárolni, vagy az alábbi módon kell használd: y:=round(x/2);
2011. okt. 23. 13:28
Hasznos számodra ez a válasz?
 6/7 anonim ***** válasza:

Szia. Látom a modulót (maradék) már használod, akkor ideje a / -t is a DIV-re cserélni. :) Az osztás egész részét adja vissza.

Továbbá, érdekesen oldottad meg a problémát. Persze ettől még lehet jó, de van sokkal optimálisabb megoldás.

Bekérsz egy számot. 1..SQRT(szám)-ig loop-olsz, és ha, ekkor van olyan, hogy egy mod nem 0, akkor break ( asszem ez jelentette Pascalban is, a következő utasításra ugrást.)

2011. okt. 27. 22:07
Hasznos számodra ez a válasz?
 7/7 anonim ***** válasza:
Vagy pl.:Real-nek deklarálod a változókat word helyett.Így kiírja a tizedeseket is.
2012. febr. 15. 20:38
Hasznos számodra ez a válasz?

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!