五月份校赛自己过得唯一一道题目
#include<iostream>
#include<cstdio>
using namespace std;
long long f(long long n) {
long long ans = 0;
while(n) {
ans += (n%10) * (n%10);
n /= 10;
}
return ans;
}
int main() {
int n;
//freopen("out.txt","w",stdout);
while(scanf("%d",&n) != EOF) {
long long tmp = n;
bool flag = true;
for(int i = 0; i <= 100; i++) {
//printf("%d:%d\n",i,tmp);
if(f(tmp) == 1) {
cout << "HAPPY" << endl;
flag = false;
break;
}
else if(f(tmp) == n) {
cout << "UNHAPPY" << endl;
flag = false;
break;
}
else tmp = f(tmp);
}
if(flag)cout << "UNHAPPY" << endl;
}
return 0;
}