Python程序来确定给定的数字是否是Harshad数

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数。这对于数学爱好者和程序员来说是一个有用的工具。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程