检查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