La scomposizione in fattori primi consiste nello scomporre un numero dividendolo per i suoi numeri divisori primi fino a quando non diventerà un numero primo. In questo modo abbiamo una lista di tutti i numeri che permettono di ottenerlo; questo è molto utile quando lo confrontiamo con un atro numero e dobbiamo ricavare i fattori comuni o altre operazioni essenziali per risolvere i problemi, come il Massimo Comune Divisore (MCD) e Il minimo comune multiplo (mcm).
In questo articolo vediamo cosa sono i fattori, quando un fattore si definisce primo e come si fa la scomposizione in fattori, sia sul quaderno che tramite dei programmi informatici.
Cosa sono i fattori primi
I fattori sono i membri di una moltiplicazione usati per ottenere il risultato desiderato. Per esempio nell’espressione: 3 x 4 x 2 = 24, i fattori sono 3, 4 e 2 mentre il risultato viene chiamato prodotti. I fattori primi, però, sono soltanto 3 e 2 perché non possono essere divisi per nessun altro numero in modo da ottenere un altro numero intero.
I fattori primi sono quei numeri che non si possono dividere più con nessun altro numero per ottenere un intero, ma che sono divisibili soltanto con se stessi per dare come risultato 1. Es. 2 : 2 = 1; 3 : 3 = 1; 7 : 7 = 1.
Il numero 4, invece, non è un fattore primo perché è divisibile per 2. L’espressione scritta sopra si può rendere anche 3 x 2 x 2 x 2 = 24
Ci sono tanti modi per scomporre un numero. Tornando al numero 24 lo si può ottenere anche facendo 12 x 2, 3 x 8 o 6 x 4. Tuttavia, la scomposizione in fattori primi permette di dargli una scomposizione unica di ottenere tutti i suoi fattori.
Vedi: I numeri primi e i numeri composti
Come fa la scomposizione di un numero in fattori primi
Poniamo il caso di volere scomporre in fattori primi il numero 24. Risulta molto più comodo fare la divisione in colonna, dividendo il numero per suo il primo fattore e il quoziente ottenuto con l’altro primo fattore possibile fino a quando non sarà più possibile effettuare divisioni.
Avremo 24 = 2 x 2 x 2 x 3 = 23 ∙ 3
24 = 23 ∙ 3
La scomposizione dei fattori primi in programmazione
E’ possibile facilmente creare una funzione con qualsiasi linguaggio di programmazione in modo da ottenere la lista dei fattori di un numero. Il codice seguente è scritto in JavaScript, il linguaggio di programmazione usato per il web. Per provare, basta aprire gli strumenti di sviluppo del browser cliccando F12 anche da questa pagina, ricopiare il codice scritto sotto dentro la casella Console e richiamando la funzione scrivendo: Scomponi_In_Fattori(12).
In alternativa, puoi scrivere il codice su un editor, come VS Code e poi ricopiarlo nella Console del browser.
function Scomponi_In_Fattori(numero) {
const numeroIniziale = numero
let listaFattoriPrimi = []
for (let fattore = 2; fattore <= numero; fattore++) {
while (numero % fattore === 0) {
listaFattoriPrimi.push(fattore)
numero /= fattore
}
}
if (listaFattoriPrimi.length === 0) {
console.log('Il numero è primo; impossibile scomporlo in fattori');
return null
}
listaFattoriPrimi.length === 1 ? console.log(`I fattori di ${numeroIniziale} è ${listaFattoriPrimi}`) : console.log(`I fattori di ${numeroIniziale} sono ${listaFattoriPrimi}`);
return listaFattoriPrimi
}
Ecco cosa fa il codice:
- const numeroIniziale = numero. Creiamo una costante che non può cambiare e gli copiamo il numero da scomporre. Ci servirà dopo per i messaggi della console;
- let listaFattoriPrimi = [ ]. Questo codice crea una variabile che si può modificare in seguito. Le parentesi quadre vuote indicano al programma di conservare diversi valori che saranno i fattori del numero scomposto;
for (let fattore = 2; fattore <= numero; fattore++) {
while (numero % fattore === 0) {
listaFattoriPrimi.push(fattore)
numero /= fattore
}
}
Questo codice divide il numero per 2 e per tutti i fattori possibili fino al numero stesso. Ogni volta che la divisione tra il numero e il fattore da un numero intero, il programma aggiunge il fattore alla lista e riporta il quoziente ottenuto usandolo come base per la successiva scomposizione. Quando tutte le divisioni sono state svolte, il codice finisce e si va avanti
if (listaFattoriPrimi.length === 0) {
console.log('Il numero è primo; impossibile scomporlo in fattori');
return null
}
listaFattoriPrimi.length === 1 ? console.log(`I fattori di ${numeroIniziale} è ${listaFattoriPrimi}`) : console.log(`I fattori di ${numeroIniziale} sono ${listaFattoriPrimi}`);
Se la lista dei fattori è vuota vuol dire che il numero è primo e la console ce lo dirà;
Se la lista dei fattori ha un solo elemento, la console riporta la frase al singolare; altrimenti la riporta al plurale.