Kezdőoldal » Számítástechnika » Programozás » Pascal gondok, egy kis segitseg?

Pascal gondok, egy kis segitseg?

Figyelt kérdés

Lenne ket feladat, ami gondokat okozott. -Adott egy termeszetes szam. Toroljuk belole az osszes k-val egyenlo szamjegyet.

-Adott egy szam. Hatarozzuk meg, hogy primszam-e?



2012. márc. 18. 12:11
 1/4 anonim ***** válasza:
Ezt úgy tudod megoldani hogy áttérsz C++ ra mert annak legalább van jövője és C++ programozóként betegre keresed magad.
2012. márc. 18. 12:13
Hasznos számodra ez a válasz?
 2/4 A kérdező kommentje:
En szerettem volna egy egyszerubb megoldast, mivel csak 9. osztalyos tanulo vagyok, es pascalba kellene leirjam...
2012. márc. 18. 12:15
 3/4 anonim ***** válasza:

Adott egy termeszetes szam. Toroljuk belole az osszes k-val egyenlo szamjegyet.

Gondold végig hogy épül fel egy szám a 10-es számrendszerbe!

pl.: 123 = 3*1+2*10+3*100

Direkt fordítva írtam fel a legkisebb helyiértéktől kezdve, mert a megoldáshoz is ezt célszerű használni.

legyen a és b változó ami integer típusú és nemnegatív értékeket tárolunk bennük.

b-be hogy rakod bele a értékét? Ugye b:=a, de ne így rakd bele hanem helyiértékenként és úgy hogy nem baj ha a változó értékét közben "elrontod".

Egyáltalán hogy rakod bele b-be a-nak egyes helyiértékén lévő számjegyet? Úgy hogy veszed a-nak 10-el való osztási maradékát, vagyis modulo 10-et.

b:=a mod 10

Hogy rakod bele a-nak a második számjegyét?

b-t elosztod 10-el ezzel levágtad az utolsó számjegyet, malyd ennek a számnak veszed az utolsó számjegyét, azt már leírtam hogy kell.

Ezt kell ismételgetni addig amíg b>0 és a mod 10-nek 1x-esetét 10x-esét 100x-osát stb kell hozzáadni b-hez ciklusba, természetesen ciklus előtt b értékét 0-ra állítottuk. Ciklus végén igaz hogy a=b.

Ez szép és jó de az volt a feladat hogy k-val egyenlő számjegyet töröljük, akkor annyi ha a mod 10 = k akkor nem csináljuk akkor csak a-t osztjuk 10-el vagyis levágjuk az utolsó számjegyét.

A ciklus végén b tartalmazza a kívánt számot.

---------------------------

Másik feladat még egyszerűbb: legegyszerűbben 1-től a számig végigmész egy for ciklussal és egy számlálót növelsz ha osztható vele (modulo 0), ha a számláló értéke 2 a ciklus lefutása után akkor prím.

2012. márc. 18. 13:03
Hasznos számodra ez a válasz?
 4/4 anonim ***** válasza:
"(modulo 0)" mármint vizsgálandó szám modulo ciklusváltozó = 0
2012. márc. 18. 14:26
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!