检查Python中两个数字的除数之和是否相同
假设我们有两个数字p和q。我们必须检查这些两个数的所有除数之和是否相同。
所以,如果输入像p=559,q=703,那么输出将是True559的因数是1,13,43和703是1,19,37。除数之和是57。
为了解决这个问题,我们将按照以下步骤操作-
定义一个函数divSum()。这将需要n
总计:=1
我:=2
而i*i<=n,做
总计:=总计+i+(n/i)的下限
如果n可被i整除,则
我:=我+1
总回报
当divSum(p)与相同时divSum(q),main方法返回true,否则返回false
让我们看看以下实现以获得更好的理解-
示例代码
from math import floor
def divSum(n):
total = 1
i = 2
while i * i <= n:
if n % i == 0:
total += i + floor(n / i)
i += 1
return total
def solve(p, q):
return divSum(p) == divSum(q)
p = 559
q = 703
print(solve(p, q))输入
559, 703输出结果
True