-
6enK$_5Ch.
User deleted
Ecco il mio come sempre in C, ho messo una limitazione di 100 cicli sull'assegnazione del valore di ritorno della funzione ricorsiva foo() alla variabile num. Se no poteva durare all'infinito CODICE#include <stdio.h>
int foo(int numx)
{
if(numx==0)
return 0;
else
return (numx%10)*(numx%10) + foo(numx/10);
}
int main()
{
int num, i=1;
printf("Inserisci un numero: ");
scanf("%d", &num);
printf("Ora si verificherà se in 100 cicli il numero risulterà felice...\n");
while(i++<100 && num!=1)
num = foo(num);
if(num==1)
printf("Il numero e' felice!\n");
else
printf("Il numero non e' felice!\n");
return 0;
}.