Manugal
07-11-2005, 15:26
Ciao :)
Dovrei scrivere questo programma usando la ricorsione:
Scrivere un programma C che dato un numero n in input ne calcoli la radice digitale. La radice digitale di un numero è data dalla somma delle sue cifre finché non si riducono ad una sola cifra.
Esempio: 2365
prima somma = 16
seconda somma = 7
Ho provato a buttare giù qualcosa, però non mi viene per niente il passo ricorsivo.
int radicedigitale(int n){
int result=0;
int tmp=0;
if(n/10==0)
return n;
else
tmp+=(n%10)+radicedigitale(n/10);
result=tmp;
if(result/10!=0)
return radicedigitale(result);
}
Chi mi può aiutare? Grazie.
Dovrei scrivere questo programma usando la ricorsione:
Scrivere un programma C che dato un numero n in input ne calcoli la radice digitale. La radice digitale di un numero è data dalla somma delle sue cifre finché non si riducono ad una sola cifra.
Esempio: 2365
prima somma = 16
seconda somma = 7
Ho provato a buttare giù qualcosa, però non mi viene per niente il passo ricorsivo.
int radicedigitale(int n){
int result=0;
int tmp=0;
if(n/10==0)
return n;
else
tmp+=(n%10)+radicedigitale(n/10);
result=tmp;
if(result/10!=0)
return radicedigitale(result);
}
Chi mi può aiutare? Grazie.