Write an algorithm to determine if a number is "happy".
A happy number is a number defined by the following process:starting with any positive integer and replace the number by the Sum of the squares of its digits, and repeat the process until the number equals 1 (where it would stay), or it loops Endl essly in a cycle which does not include 1. Those numbers for which this process ends in 1 is happy numbers.
Example:19 is a happy number
12 + 92 = 82
82 + 22 = 68
62 + 82 = 100
12 + 02 + 02 = 1
Problem Solving Ideas:
The Hashmap,java is implemented as follows:
public boolean ishappy (int n) { hashmap<integer,boolean> hm=new hashmap<integer,boolean> (); while (!hm.containskey (n) &&n!=1) { hm.put (n, true); N=happytime (n); } return n==1; } static public int HappyTime (int n) { int res=0; while (n!=0) { res+= (n%10) * (N%10); n/=10; } return res; }
Java for Leetcode 202 Happy number