代码不适用于大数字

时间:2013-05-31 19:07:35

标签: java

显然有一个我在下面的代码中无法弄清楚的错误。该代码旨在解决project euler 429,并且似乎可以很好地处理小数字(我制作了一个更简单的代码,直到x = 10才能验证)。我必须说我花费的最后一个小时试图解决它(徒劳),相信代码不能正常工作,因为我没有得到解决的错误 - 这就是我在这里的原因。

我对你的要求是这样的:你能告诉我为什么这个代码对大数字不起作用,即使它适用于较小的代码? (我认为不需要理解我的代码才能找到错误)

1 个答案:

答案 0 :(得分:3)

这是一个简单的误读:

  

查找S(100 000 000!)1 000 000 009

VS

int x=1000000000;

计算零。

虽然可以通过

改进算法,但算法并不错
  • 使用Sieve查找质数,
  • 避免BigIntegerlong就足够了(如果做得对)。