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


当需要确定给定数字是否为哈沙德数时,可以使用简单的循环和“%”运算符、“+”运算符和“//”运算符。

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

下面是相同的演示 -

示例

 在线演示

my_num = 134
remaining = sum_val = 0
print("A copy of the number to be checked is being made...")
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) + " is a Harshad number");
else:
   print(str(my_num_copy) + " isn't a Harshad number");

输出

A copy of the number to be checked is being made...
134 isn't a Harshad number

解释

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

更新于: 2021-03-12

1K+ 阅读量

开启你的 职业生涯

通过完成课程获得认证

开始学习
广告