Python 程序判断给定数字是否为哈沙德数

pythonserver side programmingprogramming更新于 2024/1/27 1:51:00

当需要判断给定数字是否为哈沙德数时,可以使用一个简单的循环和‘%’运算符、‘+’运算符和‘//’运算符。

哈沙德数也称为尼文数。它是一个底数为整数的数字,当将其写为该底数时,可以除以其数字之和。

下面是同样的演示 −

示例

my_num = 134
remaining = sum_val = 0
print("正在制作要检查的数字的副本...")
my_num_copy = my_num;
while(my_num > 0):
   remaining = my_num%10;
   sum_val = sum_val + remaining;
   my_num = my_num//10;
if(my_num_copy % sum_val == 0):
   print(str(my_num_copy) + " 是哈沙德数");
else:
   print(str(my_num_copy) + " 不是哈沙德数");

输出

正在复制要检查的数字...
134 不是哈沙德数

解释

  • 定义了一个数字。
  • 另一个 sum 变量被赋值为 0。
  • 检查数字是否大于 0,并对其执行模数运算。
  • 将此结果添加到‘sum’中,然后再次将数字除以 10。
  • 如果数字与 sum 相除的余数为 0,则将其视为哈沙德数。
  • 否则,不将其视为哈沙德数。

相关文章