Happy Number
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
public boolean isHappy(int n) { // Write your code here if(n <= 0) return false; long nn = (long)n; Set<Long> set = new HashSet<Long>(); while(true) { if(nn == 1) return true; if(set.contains(nn)) return false; else set.add(nn); long tmp = 0; while(nn != 0){ tmp+= (nn % 10)*(nn % 10); nn/=10; } nn = tmp; } } |
Leave A Comment