UVA 10591 - Happy Number

来源:互联网 发布:屏蔽软件弹出广告 编辑:程序博客网 时间:2024/05/17 02:55
#include<cstdio>#include<set>using namespace std;set<int>vis;int main(){    //freopen("in.txt","r",stdin);    int cas,num,sum,flag,nn;    scanf("%d",&cas);    for(int i=1; i<=cas; i++)    {        scanf("%d",&num);        sum=0;        nn=num;        vis.clear();        flag=0;        while(1)        {            sum=0;            while(num)            {                sum+=(num%10)*(num%10);                num/=10;            }            if(sum==1)            {                flag=2;                break;            }            if(vis.count(sum))            {                flag=1;                break;            }            else vis.insert(sum);            num=sum;        }        printf("Case #%d: ",i);        if(flag==1)            printf("%d is an Unhappy number.\n",nn);        else  printf("%d is a Happy number.\n",nn);    }    return 0;}
关键就是用了一个容器类存储出现的情况。