找回密码
 注册
Simdroid-非首页
查看: 104|回复: 5

[欧拉习题] Project Euler No.9

[复制链接]
发表于 2008-12-12 23:24:51 | 显示全部楼层 |阅读模式 来自 陕西安康
A Pythagorean triplet is a set of three natural numbers, a b c, for which,
a^2 + b^2 = c^2
For example, 3^2 + 4^2= 9 + 16 = 25 = 5^2.There exists exactly one Pythagorean triplet for which a + b + c = 1000.
Find the product abc.
 楼主| 发表于 2008-12-12 23:25:28 | 显示全部楼层 来自 陕西安康
Simdroid开发平台
My Mathematica Code
  1. In[1]:= Times @@
  2. Flatten@Select[
  3. Flatten[Table[{i, j, 1000 - i - j}, {i, 301, 500}, {j,
  4. Ceiling[500 - i/2, 1], i - 1}],
  5. 1], #[[1]]^2 == #[[2]]^2 + #[[3]]^2 &]

  6. Out[1]= 31875000
复制代码
回复 不支持

使用道具 举报

发表于 2008-12-12 23:27:39 | 显示全部楼层 来自 北京

回复 2# changqing 的帖子

  1. Times @@ {m^2 - n^2, 2 m n,
  2.    m^2 + n^2} /. (Reduce[
  3.     2 m^2 + 2 m n == 1000 && n > 0 && m > n, {m, n},
  4.     Integers] /. {Or -> List, Equal -> Rule, And -> List})
复制代码
回复 不支持

使用道具 举报

发表于 2008-12-13 01:38:58 | 显示全部楼层 来自 美国
  1. a b c //.
  2. ToRules@Reduce[{a^2 + b^2 == c^2, a + b + c == 1000,
  3.     0 < a < b < c}, {a, b, c}, Integers]
复制代码


感觉慢了一点。

[ 本帖最后由 smarten 于 2008-12-12 11:49 编辑 ]
回复 不支持

使用道具 举报

发表于 2008-12-13 04:54:58 | 显示全部楼层 来自 美国
  1. 2 m n (m^4 - n^4) /.
  2. Flatten@Solve[{{m, m + n}} ==
  3.     With[{j = 1000},
  4.      Select[Transpose@{i = Divisors[j/2], Reverse[i]},
  5.       Sqrt[j/2] > #[[1]] > Sqrt[j/4] &]]]
复制代码

[ 本帖最后由 smarten 于 2008-12-12 15:04 编辑 ]
回复 不支持

使用道具 举报

发表于 2008-12-13 11:12:10 | 显示全部楼层 来自 北京海淀

回复 5# smarten 的帖子

:handshake
你的divisors先进多了。

不过有个地方需要改一下,就是Solve在这里的自适应性不是很强,因为当1000换成其他的值时,会有多解的情况,比如6000,这时你的就返回空的List,我的Reduce则好好的,但我的Reduce在没有解的情况下会抱错。

鉴于此,我在你的基础上又改了一点:
  1. pro = {m^2 - n^2, 2 m n, m^2 + n^2} /. n -> n - m;
  2. Times @@ pro /.
  3. Thread /@ (Rule[{m, n}, #] & /@
  4.     With[{j = 6000000},
  5.      Select[Transpose@{i = Divisors[j/2], Reverse[i]},
  6.       Sqrt[j/2] > #[[1]] > Sqrt[j/4] &]])
复制代码


请指教
回复 不支持

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|小黑屋|联系我们|仿真互动网 ( 京ICP备15048925号-7 )

GMT+8, 2024-3-29 01:34 , Processed in 0.037303 second(s), 14 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表