Math 除数
如何在不遍历n的所有除数的情况下,找到一个数“n”也可被另一个数“k”整除的除数数? 我尝试了以下方法: 在联合数组A中存储n的所有素数因子的幂,在数组B中存储所有素数因子的幂Math 除数,math,division,Math,Division,如何在不遍历n的所有除数的情况下,找到一个数“n”也可被另一个数“k”整除的除数数? 我尝试了以下方法: 在联合数组A中存储n的所有素数因子的幂,在数组B中存储所有素数因子的幂 ans = 1 for a in A: // Here a is the prime factor and A[a] gives its power ans *= if( a is present in B ) ? 1 : A[a] + 1 print ans 注意:这不是
ans = 1
for a in A: // Here a is the prime factor and A[a] gives its power
ans *= if( a is present in B ) ? 1 : A[a] + 1
print ans
注意:这不是家庭作业。如果除数是一个素数,那么除了遍历所有除数之外,没有其他方法。否则将不是保存加密算法。要查找可被
k
整除的n
的除数,请执行以下操作:
- 如果
不是k
的除数,则数字为0n
- 否则,它是
的除数n/k
d
是可被k
整除的n
的除数,则d/k
是n/k
的除数。相反,如果e
是n/k
的除数,则e*k
是可被k
整除的n
的除数
你的代码
ans = 1
for a in A: // Here a is the prime factor and A[a] gives its power
ans *= if( a is present in B ) ? 1 : A[a] + 1
print ans
计算
n
中与k
互素的除数,如果这是作业,则应添加标记。另外,请告诉我们您已经尝试过什么为什么要将ans
乘以幂+1?您想要除数还是除数的乘积?在你的问题中,你说你想要这个数字,但事实上,你是在乘法来建立你的答案,这让我觉得你可能想要它们的乘积。一般来说,要得到除数的数量,我们需要乘以它的所有素数的(1+幂)。哦,我明白了。我还以为你要计算它的所有素因子呢。