我试图找到一个巨大整数的除数我在Haskell中提出了一个问题,但Haskell还不够快.我把上面的数字放在Wolfram Alpha中,结果是立竿见影的.怎么做的?
这实际上并不是一个困难的因子分解,因为它是2 ^ 30*(2 ^ 31 - 1).重复除以2,直到数字为奇数,然后循环的大约20k次迭代试图将2147483647除以大于2但小于sqrt(2147483647)= 46340的奇数.在现代处理器上,这不会花很长时间......
归档时间: |
|
查看次数: |
1383 次 |
最近记录: |