Ominide 1932 punti

C++ - Somma delle cifre di un numero intero

Il seguente algoritmo scritto in C++ permette, dato un numero intero N a scelta nostra, calcola la somma delle sue cifre.
Esempio:
Input: 7814
Output: 7 + 8 + 1 + 4 = 20
Il "ragionamento" che faremo eseguire all'esecutore è quello di "staccare" ogni cifra.
In che modo?
Considero N, e sia R: N modulo 10.
In matematica si dice che:
[math]N ≡ R (mod 10)[/math]
, dove R è l'ultima cifra del numero che dobbiamo tenere in considerazione per sommarne le cifre.
Ritornando a parlare del caso analizzato in precedenza:
[math]7814 ≡ 4 (mod 10)[/math]
Una volta fatto ciò, per staccare l'altra cifra, togliamo R da N e lo dividiamo per 10.
Ripetiamo lo stesso procedimento finché le cifre di N non sono terminate.
Ecco il codice, con la spiegazione di ogni passaggio:

#include <cstdlib>
#include <iostream>

using namespace std;

int main()
{
int N, R, K; //Introduciamo tre variabili N, R, K
cout << "Inserisci il numero di cui vuoi calcolare la somma delle cifre" <<endl; //Stampo un messaggio che inviti ad inserire un numero intero
cin >> N; //Si inserisce il numero intero di cui vogliamo calcolare la somma delle cifre, lo chiamiamo N
K = 0; //K sta per somma cifre, e parte da 0
cout << "La somma delle cifre di " << N << " e' " << endl; //stampiamo il messaggio con la relativa informazione
while(N > 1){ //Mentre n è maggiore di 1:
R = N % 10; //Considero R come N modulo 10
K = R + K; //Si somma R a K
N = (N - R) / 10; //N diventa N-R diviso per 10
}


cout << K << endl; //si stampa K
system("pause"); //Fine del programma
}

Hai bisogno di aiuto in Informatica?
Trova il tuo insegnante su Skuola.net | Ripetizioni
Potrebbe Interessarti
Registrati via email