Scrivere un programma che prenda in ingresso un numero intero N e scriva tutti i suoi fattori primi.
esempio: 28-> 2,2,7
( a me viene quasi..non mi viene per numeri come 8...infatti mi ritorna 2,4 mentre dovrebbe tornare 2,2,2)
Scrivere un programma che prenda in ingresso un numero intero N e scriva tutti i suoi fattori primi.
esempio: 28-> 2,2,7
( a me viene quasi..non mi viene per numeri come 8...infatti mi ritorna 2,4 mentre dovrebbe tornare 2,2,2)
BACCI
2,4 = 2, 2^2
prova a fare un ulteriore scomposizione dei risultati mano a mano
ma ..fin li c'ero arrivato..il casino è scrivere il codice..datemi un a mano!
BACCI
Ecco una versione un po' "sporca" (nel senso che si serve della funzione atoi del c) del programma che vuoi codificare.
Ho tolto tutti gli orpelli inutili ai fini della comprensione della logica, quali controllo di input e gestione eccezioni.
Per utilizzare il programmino devi scrivere, ponendo ad esempio che tu chiami l'eseguibile pippo e voglia scomporre il numero 100:
pippo 100
Non escludo che si possa rendere piu' elegante...
![]()
#include <iostream>
#include <stdlib.h>
using namespace std;
void main (int argc, char **argv)
{
int num, i, resto;
resto = num = atoi (argv[1]);
cout << "Numero da scomporre: " << num << endl;
do
{
// Ciclo finche' non trovo il primo divisore
for (i = 2; (resto % i) != 0; i++);
cout << "Fattore: " << i << endl;
resto /= i;
} while (resto > 1);
}
ChReAn
-------------------
Slackware 9.1 powered
Impariamo a codare usando lo standard:
- atoi() esiste anche nella libreria del C++ sotto l'header cstdlib
- nessun header ha una estenzione in C++
- la funzione main ritorna *sempre* un int
bye
There are 10 kinds of people in the world: who knows the binary numeration and who not