Python程序来确定给定的数字是否是Harshad数
更多Python相关文章,请阅读:Python 教程
什么是Harshad数
Harshad数又称Niven数,是指一个正整数,它是其各位数字之和的倍数。例如,42是Harshad数,因为4 + 2 = 6,而6是42的因数之一。
实现方法
实现一个Python函数来确定给定的数字是否是Harshad数,我们只需要将给定数字的各位数字相加,再判断是否是该数字的因数。下面是函数的实现代码:
def is_harshad_number(n: int) -> bool:
"""
判断给定的数字n是否是Harshad数
"""
digit_sum = sum(int(ch) for ch in str(n))
return n % digit_sum == 0
其中,函数的参数 n
是要判断的数字,返回值为 True
表示是Harshad数,否则为 False
。
测试代码
为了验证我们的代码是否能正确判断Harshad数,我们可以编写一些测试用例,如下所示:
assert is_harshad_number(18) == True
assert is_harshad_number(42) == True
assert is_harshad_number(100) == True
assert is_harshad_number(1729) == True
assert is_harshad_number(23) == False
assert is_harshad_number(37) == False
assert is_harshad_number(101) == False
assert is_harshad_number(1728) == False
以上测试用例检验了几个Harshad数和非Harshad数,测试结果返回的都是期望的结果。因此,我们可以认为我们的代码实现是正确的。
结论
通过以上实现,我们可以快速判断一个数字是否是Harshad数。这对于数学爱好者和程序员来说是一个有用的工具。