Python程式:檢查兩個數是否為親和數


親和數是兩個不同的數,它們各自的真因數之和等於另一個數。如果需要檢查兩個數是否為親和數,可以定義一個方法,該方法迭代遍歷數字並使用模運算子。另一個方法呼叫前面定義的函式來確定兩個數是否為親和數。

以下是演示:

示例

 線上演示

import math

def divided_sum_val(my_val) :

   res = 0
   for i in range(2, int(math.sqrt(my_val)) + 1) :

      if (my_val % i == 0) :

         if (i == int(my_val / i)) :
            res = res + i
         else :
            res = res + (i + int(my_val / i))
   return (res + 1)

def check_amicable(x, y) :

   if (divided_sum_val(x) != y) :
      return False

   return (divided_sum_val(y) == x)

first_num = 220
second_num = 288
print("The numbers are :")
print(first_num)
print(second_num)
if (check_amicable(first_num, second_num)) :
   print ("The given numbers are amicable in nature")
else :
   print ("The given numbers are not amicable in nature")

輸出

The numbers are :
220
288
The given numbers are not amicable in nature

解釋

  • 定義了一個名為“divided_sum_val”的方法,它以一個整數作為引數。

  • 它使用“for”迴圈迭代遍歷該值,並檢查數字的可除性。

  • 如果迭代器等於值除以迭代器的結果,則將其遞增迭代器。

  • 否則,新增整個除數。

  • 定義了另一個名為“check_amicable”的方法,它接收兩個數字。

  • 它呼叫“divided_sum_val”並根據計算出的值返回“True”或“False”。

  • 定義了這兩個數字,並在控制檯上顯示。

  • 透過傳遞這兩個數字來呼叫該方法。

  • 根據輸出,在控制檯上顯示相關訊息。

更新於:2021年4月19日

697 次瀏覽

開啟你的職業生涯

完成課程獲得認證

開始學習
廣告