Grazie a tutti
Prendo il source di Null come base perchè è in C semplice...da buon fagiano partono le domandone di chiarimento
1) Ho sostituito l'assegnamento random di "numero"
Con un semplice valore per scanfcodice:srand ( (unsigned) time ( NULL ) ); int numero = rand ( ) % 10000;
Ma i risultati (cambiando solo quello) lasciano perplessi...perchè!?codice:int numero; scanf ("%d", &numero);
Fa tutto sto casino, ma conclude sempre con 443, qualsiasi numero io gli dia...codice:[maiosyet]@[alcibiade]-[~/Sorci/Fattori] ./Prova.bin Inserire numero da fattorizzare 999 999 (1206604416) e' divisibile per 2 (resta 603302208). 999 (603302208) e' divisibile per 2 (resta 301651104). 999 (301651104) e' divisibile per 2 (resta 150825552). 999 (150825552) e' divisibile per 2 (resta 75412776). 999 (75412776) e' divisibile per 2 (resta 37706388). 999 (37706388) e' divisibile per 2 (resta 18853194). 999 (18853194) e' divisibile per 2 (resta 9426597). 999 (9426597) e' divisibile per 3 (resta 3142199). 999 (3142199) e' divisibile per 41 (resta 76639). 999 (76639) e' divisibile per 173 (resta 443). 999 (443) e' divisibile per 443 (resta 1). [maiosyet]@[alcibiade]-[~/Sorci/Fattori]
Poi ci sono alcune parti di codice che non ho capito
Questo pezzo dice: Se il resto di n_attuale / i è diverso da...? Da cosa?codice:if ( ! ( n_attuale % i ) ) {
E poiQuesta istruzione è come direcodice:n_attuale /= i; continue;
?codice:n_attuale = n_attuale / i
Ultima cosa: al posto che un valore sentinella per uscire dal ciclo, hai messo continue...ma come funziona? :master:
Grazie![]()





Rispondi quotando