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);
}
}
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);
}
}