Concetti Chiave
- L'algoritmo scritto in C++ permette di scomporre un numero intero N nei suoi fattori primi.
- L'input dell'algoritmo è un numero intero, mentre l'output è la sequenza dei suoi fattori primi.
- Il processo inizia con K impostato a 2, il primo numero primo, e continua aumentando K ad ogni ciclo.
- L'algoritmo divide N per K finché N è divisibile, aumentando K quando non lo è più, fino a che K supera N.
- La struttura del codice prevede l'utilizzo di un ciclo while per controllare la divisibilità di N per K.
Il seguente algoritmo, scritto in linguaggio C++, permette di inserire un qualsiasi numero intero N e di ricavarne la scomposizione in fattori primi.
Input e output
INPUT: 437
OUTPUT: 19 23
Il testo del codice è qui sotto, ed è spiegato passo dopo passo!
#include
#include
using namespace std;
int main()
{
int N; //Introduciamo una variabile intera N
int K; //Introduzione di un'altra variabile K
cout
cin>>N; //Il numero inserito prende il posto della variabile N
K = 2; //K parte dal primo numero primo, cioè 2
coutfattorizzazione di "
while(K mentre K è minore o uguale a N, esegui:
while(N%K == 0){ //mentre N modulo K è uguale a 0
N = N/K; //N viene diviso per K
coutK è infatti fattore di N)
}
K = K+1; //K viene aumentato di 1 quando N non sarà più divisibile per K e il ciclo ricomincia.
}
Conclusione del programma
system("pause"); //Termine del programma
}
Domande da interrogazione
- Come funziona l'algoritmo per la scomposizione in fattori primi?
- Qual è il ruolo della variabile K nell'algoritmo?
L'algoritmo prende un numero intero N come input e lo scompone nei suoi fattori primi. Inizia con K uguale a 2 e continua a dividere N per K finché N è divisibile per K. Quando N non è più divisibile, K viene incrementato di 1 e il processo continua fino a quando K è maggiore di N.
La variabile K rappresenta il divisore corrente e inizia dal primo numero primo, cioè 2. Viene incrementata di 1 ogni volta che N non è più divisibile per K, permettendo all'algoritmo di testare successivamente i numeri primi successivi fino a scomporre completamente N.