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+ 閱讀量

開啟你的 職業生涯

透過完成課程獲得認證

開始學習
廣告