Ajmo od početka (al ovo je poslednji put

)…
Prvo uvek krećem od dvojke jer je dvojka najmanji prost broj. Znači podesim
i na 2:
Code:
int i = 2, broj;
i uđem u petlju. Prverim koliki je ostatak pri deljenju broja sa
i:
Code:
if (!(broj % i)) {
Ovaj ostatak uvek postoji! A
broj je, jelda, deljiv sa
i kada je taj ostatak nula. E sad, to valjda znaš,
0 == false,
sve ostalo == true, pa ću sa
!(broj %i) dobiti
true samo onda kada je ostatak 0, tj. kada je broj deljiv.
Pa kad je deljiv onda je to jedan od činioca, ubacim ga u niz:
Code:
niz[pos++] = i;
podelim
broj sa
i
Code:
broj /= i;
i postavim
i ponovo na dvojku jer krećem iz početka, tj. tražim najmanji broj sa kojim je ovaj novi
broj deljiv…
Ako
broj nije deljiv sa
i onda samo povećam
i za jedan i pokušam ponovo.
Kraj čitavog algoritma je kada
broj postane jednak jedinici:
Code:
while (broj != 1)
jer je tada proizvod svih brojeva u nizu jednak upravo samom tom broju.
QED
Nego koliko ti imaš godina? Pa ovo je matematika osnovne škole?