Miért nem működik a prímtényezős felbontás?
Figyelt kérdés
Sziasztok, próbálok írni egy programot, ami beolvas egy számot és kiírja a prímtényezőket. Bizonyos esetekben működik, de bizonyos esetekben meg nem. Pl 100-ra jó, de 88-ra nem. Mi a hiba?
#include <stdio.h>
int main(){
int szam1,szam2,i;
scanf("%d",&szam1);
szam2=szam1;
for (i=2;i<sqrt(szam1);i++)
while (1) {
if (szam2%i==0) {szam2=szam2/i; printf("%d ",i);}
else break;
}
system("PAUSE");
}
2013. okt. 8. 14:54
1/3 anonim válasza:
Esetleg a végtelen ciklust vedd ki belőle, aztán tesztelgesd.
2/3 anonim válasza:
Jó, nem szóltam, végül is nem azzal van a gond, csak ronda és látszik, hogy nem érted, hogyan működik a while ciklus.
Csináld azt, hogy minden lépésben kiíratod, mi történik. Innen látszania kell, mi nem jó. :)
3/3 A kérdező kommentje:
Kösz a semmit, de már megoldottam ;)
Ment a negatív.
2013. okt. 8. 15:35
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!
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!