编写一个 Python 程序,使用 while 循环检查一个数字是否为哈沙德数。如果一个数字能被其各位数字之和整除,则它是一个哈沙德数。例如,156 可以被 12(1+5+6)整除,因此它是一个哈沙德数。
Number = int(input("Enter the Number to Check Harshad Number = "))
Sum = 0
rem = 0
Temp = Number
while Temp > 0:
rem = Temp % 10
Sum = Sum + rem
Temp = Temp // 10
print("The Sum of the Digits = %d" %Sum)
if Number % Sum == 0:
print("\n%d is a Harshad Number." %Number)
else:
print("%d is Not a Harshad Number." %Number)

在这个 Python 程序中,我们使用 while 循环来分离数字并计算所有数字的总和。接下来,if 条件检查数字是否能被总和整除。如果为 True,则它是一个哈沙德数。
def digitsSum(Number):
Sum = rem = 0
while Number > 0:
rem = Number % 10
Sum = Sum + rem
Number = Number // 10
return Sum
Number = int(input("Enter the Number = "))
Sum = digitsSum(Number)
print("The Sum of the Digits = %d" %Sum)
if Number % Sum == 0:
print("%d is a Harshad Number." %Number)
else:
print("%d is Not." %Number)
Enter the Number = 481
The Sum of the Digits = 13
481 is a Harshad Number.
Enter the Number = 472
The Sum of the Digits = 13
472 is Not.
使用函数检查给定数字是否为哈沙德数的 Python 程序。
Sum = 0
def digitsSum(Number):
global Sum
if Number > 0:
rem = Number % 10
Sum = Sum + rem
digitsSum(Number // 10)
return Sum
Number = int(input("Enter the Number = "))
Sum = digitsSum(Number)
if Number % Sum == 0:
print("%d is a Harshad Number." %Number)
else:
print("%d is Not." %Number)
Enter the Number = 92
92 is Not.
Enter the Number = 448
448 is a Harshad Number.