📜  两个数字A和B的共同除数之和(1)

📅  最后修改于: 2023-12-03 14:48:52.835000             🧑  作者: Mango

两个数字A和B的共同除数之和

简介

本文介绍如何计算两个数字A和B的共同除数之和。共同除数是指同时能够整除A和B的所有正整数。

实现思路

由于共同除数需要同时整除A和B,因此可以先找出A和B的所有因数,再找出在两个数字的因素中相同的因数。最后把这些共同的因数加起来就是两个数字的共同除数之和。

具体实现的步骤如下:

  1. 找出数字A的所有因数;
  2. 找出数字B的所有因数;
  3. 在A的因数和B的因数中找出相同的因数;
  4. 把这些相同的因数加起来。
代码示例
def get_common_divisors_sum(a, b):
    """
    计算两个数字A和B的共同除数之和
    """
    a_divisors = [i for i in range(1, a + 1) if a % i == 0]
    b_divisors = [i for i in range(1, b + 1) if b % i == 0]
    common_divisors = [i for i in a_divisors if i in b_divisors]
    return sum(common_divisors)
示例测试
print(get_common_divisors_sum(16, 24))  # 输出 21,因为16和24的共同除数是1、2、4、8,它们的和为21。
print(get_common_divisors_sum(21, 28))  # 输出 22,因为21和28的共同除数是1、7,它们的和为8+14=22。