UVA 10591 Happy Number

 

CODE:

#include <iostream>
#include <cstdlib>
#include <cstdio>
#include <cstring>
#include < set>
using  namespace std;

set< int> vis;

void init()
{
    vis.clear();
}

int getNumber( int n)
{
     int s =  0;
     while(n)
    {
        s += (n% 10)*(n% 10);
        n /=  10;
    }
     return s;
}

int main()
{
     int times =  0;
     int T, ans, n;
    scanf( " %d ", &T);
     while(T--)
    {
        init();
         int flag =  1;
        scanf( " %d ", &n);
        vis.insert(n);
        ans = n;
         for(;;)
        {
            ans = getNumber(ans);
             if(ans ==  1break;
             else
            {
                 if(!vis.count(ans)) vis.insert(ans);
                 else
                {
                    flag =  0;
                     break;
                }
            }
        }
        printf( " Case #%d:  ", ++times);
         if(flag) printf( " %d is a Happy number.\n ", n);
         else printf( " %d is an Unhappy number.\n ", n);
    }
     return  0;
}

 

 

你可能感兴趣的:(number)