Thursday, October 22, 2026

Program to find whether a given number is a Happy Number or Not

 What is a Happy Number?


If the sum of the digits is '1' then it's happy number else no

Example:

Number = 19

19  =  1 + 81    = 82  (Sum of squared 1 + squared 9)
82  = 64 + 4     = 68  (Sum of squared 8 + squared 2)
68  = 36 + 64    = 100 (Sum of squared 6 + squared 8)
100 =  1 + 0 + 0 = 1    => Sum of digits is '1' hence '19' is a Happy Number


Program (written using Java)

class Happy {

    public static void main(String args[]) {

        String number = "128";
        int sum = 0, num = 0, i = 0, final_sum = 0;
        
        while (i < number.length()) {
            num = Character.getNumericValue(number.charAt(i));
            //System.out.println("Char at " + num);
            sum = sum + (num * num);
            i++;
            
            //System.out.println("Sum is " + sum);
              
            if ( i == number.length() && String.valueOf(sum).length() != 1  ) {
                i = 0;
                System.out.println("Sum " + sum + "  Length is " + String.valueOf(sum).length());
                number = String.valueOf(sum);
                sum = 0;
            }
        }
        
        System.out.println("Final sum : " + sum);
            
    }
}