#include<set>
class Solution {
public:
bool isHappy(int n) {
set<int> visited;
visited.insert(n);
int sum = n;
while(sum!=1)
{
n = sum;
sum = 0;
while(n>0)
{
sum += (n %10)*(n%10);
n = n/10;
}
// cout<<sum<<endl;
set<int>::iterator iter;
iter=visited.find(sum);
if(iter!=visited.end())return false;
else visited.insert(sum);
}
return true;
}
};