Prendiamo in considerazione questo esempio:


72 = 49
42 + 92 = 97
92 + 72 = 130
12 + 32 + 02 = 10
12 + 02 = 1


7 Pu˛ essere definito come numero felice in quanto, utilizzando una sequenza ripetitiva, la somma dei quadrati delle sue cifre porta a 1. Fonte: Numeri felici


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;
}