通过素数因子分解来检验可分性

时间:2012-10-02 12:13:03

标签: algorithm math

检查整数(比如A)与另一个整数(比如说B)的可分性,我试过一种方法,通过分解B并检查A是否可以被B的所有素因子整除。但是我不确定它是否正确?你能建议一下可以做些什么吗?例如,如果我们有一个非常大的整数说10 ^ 100并且我们想要检查它是否可被另一个整数表示为200,那么我试图如果10 ^ 100可以被2和5整除(通过注意到最后一位数)。 如果A足够小,我们可以直接检查是否A%B == 0但是我正在尝试更大的数字。 谢谢,

2 个答案:

答案 0 :(得分:3)

您必须计算素数在B的因子分解中出现的次数,并确保它在A的因子分解中至少出现次数。

因此,200 = 2 3 * 5 2 。然后A可被200整除,当且仅当它可被2 3 和5 2 整除时。

除非您以某种方式知道因子分解,否则分解A远远慢于将其除以B。原因是需要许多试验分割(或同等工作)才能完全分解A,而只需要一个试验部门通过B检查它是否可分割。毕竟,请考虑B是素数的情况:当您需要测试是否{{1}时,您已找到{{1>}的所有素因子} 是其中之一。这不可能少工作。

答案 1 :(得分:0)

这是关于整数分解的最佳想法,这里写的是让更多人知道并参与。

整数分解的一种新方法 1 + 2 + 3 + 4 + ...... + K = NY,(K

真金恐惧之火,你可以测试1+2+3+...+k=Ny(k<N/2)

我怎么知道“k”和“y”?

“P”是因子“N”,GCD(k,N)=P

这个想法可能比费马的分解method(x^2-N=y^2)更简单!

真正的黄金恐惧之火,你可以测试1+2+3+...+k=Ny(k<N/2)

我的G +和BLOG中有关该过程的更多详细信息。