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 == 1) break;
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;
}
#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 == 1) break;
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;
}