public class happyNumbers
public static void Main(string[] args)
Console.WriteLine("Happy Numbers");
Console.Write("Enter a number: ");
input = Console.ReadLine();
if (Int32.TryParse(input, out number) == true)
Console.WriteLine("Zero or negative input is not allowed.");
Console.WriteLine("Invalid input. Please input 1-20,000 only.");
for (int i = 0; i <= 50; i++)
if (number < 10 && number != 1)
number = number * number;
else if (number >= 10 && number < 100)
sum = (ones * ones) + (tens * tens);
else if (number >= 100 && number <= 999)
tens = (number / 10) - (hundreds * 10);
ones = number - (hundreds * 100) - (tens * 10);
sum = (ones * ones) + (tens * tens) + (hundreds * hundreds);
else if (number >= 1000 && number < 10000)
sum = (ones * ones) + (tens * tens) + (hundreds * hundreds) + (thousands * thousands);
else if (number >= 1-000 && number < 100000)
tenThousands = number % 10;
sum = (ones * ones) + (tens * tens) + (hundreds * hundreds) + (thousands * thousands) + (tenThousands * tenThousands);
Console.WriteLine(input + " is a happy number.");
Console.WriteLine(input + " is not a happy number.");
Console.WriteLine("Invalid Input. Please Enter a numeric value.");