Python 程序检查给定的数字是否为 Happy Number

2025年1月11日 | 阅读 2 分钟

如果一个数字通过重复替换为其各位数字的平方和而得到 1,则该数字被称为快乐数。 如果此过程导致包含 4 的数字的无休止循环,则该数字将是不快乐数。

让我们通过一个例子来理解

数字 = 32
32+ 22 = 13
12 + 32 = 10
12 + 02 = 1

在这个例子中,我们分割 32 以得到它的各位数字的平方和,该平方和形成另一个数字 (13),我们将 32 替换为 13 以继续这个循环,直到结果为 1。我们发现 32 是一个快乐数。

如果任何数字的上述循环导致 1,那么该数字将是快乐数,否则它将是不快乐数,结果为 4、16、37、58、89、145、42、20.....

一些快乐数是 7、28、100、320 等。

在这个程序中,我们需要通过遵循以下算法来确定给定的数字是否为快乐数

算法

  • 步骤 1:isHappyNumber() 确定给定的数字是否为快乐数。
    1. 如果数字大于 0,则通过将该数字除以 10 来计算余数 rem。
    2. 计算 rem 的平方并将其添加到变量 sum 中。
    3. 将数字除以 10。
    4. 重复步骤 a 到 c,直到计算出数字中存在的所有数字的平方和。
    5. 最后,返回总和。
  • 步骤 2: 定义并初始化变量 num。
  • 步骤 3: 定义一个变量 result 并将其初始化为 num 的值。
  • 步骤 4: 如果结果既不等于 1 也不等于 4,则调用 isHappyNumber()。
  • 步骤 5: 否则,如果结果等于 1,则给定的数字是快乐数。
  • 步骤 6: 如果结果等于 4,则给定的数字不是快乐数。

程序

在此程序中,整数值是预定义的,用户无需输入整数值来检查快乐数。

输出

82 is a happy number
下一个主题Python 程序