Project Euler#75:优化算法的方法

时间:2009-12-19 22:31:24

标签: algorithm language-agnostic

我正在寻找优化算法来解决Project Euler #75的方法,到目前为止,我已经完成了两件事,

  1. 仅使用偶数值检查L,因为这可以很容易地证明。
  2. 存储已经过验证的L值,只有一种方法可以形成整数个直角三角形。稍后,当检查一个新的L值时,我会寻找已经验证具有此质量的L's除数。如果有2个或更多除数,则跳过此值。例如。存储了12个,30个和40个(24,36等不存储,因为它们实际上是12的放大版本),所以当我看到60或120时,我可以快速确定它们应该被跳过。
  3. 但是我的算法仍然不够快。您对相关文章有其他建议或链接吗?感谢。

1 个答案:

答案 0 :(得分:4)

http://en.wikipedia.org/wiki/Pythagorean_triple

http://en.wikipedia.org/wiki/Formulas_for_generating_Pythagorean_triples

修改

我刚刚解决了这个问题,使用其中一个公式,如果你需要额外的提示,只需发表评论