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 次浏览

开启你的职业生涯

完成课程获得认证

开始学习
广告