判断一个数是不是快乐数?快乐数的定义为一个正整数,计算出它各位数字的平方和,得到一个新的数字,再对这个新的数字重复这一过程,直到最后得到数字1或是其他某几个数字的无限循环。在这些数字中,经过上述流程最终能得到数字1的数字,被称为“快乐数”。
据观察规律发现,不是快乐数的都会陷入到4,16,37,58,89,145,42,20,4的死循环中,也就是说出现了4这个和就不是快乐数了。
namespace 快乐数 { class Program { static void Main(string[] args) { CalNum(4); Console.ReadKey(); } static void CalNum(int n) { int sum = 0; while (n != 0) { int i = n % 10; n = n / 10; sum += i * i; } Console.WriteLine(sum); if (sum == 1) { Console.WriteLine("快乐数"); return; } else if (sum == 4) { Console.WriteLine("不太快乐数"); return; } CalNum(sum); } } }
while循环体中计算正整数n的每位数的平方和。