花几分钟做了两道project euler习题
从http://bbs.emath.ac.cn/viewthread.php?tid=2865&page=8&fromuid=865#pid35816知道project euler
随便选了两题,做了一下,如下,最后一行是结果
http://projecteuler.net/index.php?section=problems&id=9
Clear["Global`*"];(*Clearallvariables*)
Reduce
(a==0&&b==500&&c==500)||(a==200&&b==375&&c==425)(*就是这个结果*)
http://projecteuler.net/index.php?section=problems&id=16
Clear["Global`*"];(*Clearallvariables*)
a=IntegerDigits;
Sum],{i,1,Length}]
1366(*就是这个结果*) http://projecteuler.net/index.php?section=problems&id=16
Clear["Global`*"];(*Clearallvariables*)
a=IntegerDigits;
Sum],{i,1,Length}]
1366(*就是这个结果*) 2# mathematica
前面的几十道都很简单的,是用来热身的,后面的难度都很大 特别声明!!!!
我的代码是正确的,但是上传到研发论坛就错误了,
这不是我的原因.
gxqcn:按编辑,点“更多设定”,然后勾选“禁用 Discuz!代码”即可。
因为“[i]”在论坛里是“斜体”的标签符(也可象这里的“[ i ]”那样在“i”的两侧加空格以消除误解析成论坛标签)。
前两贴我已代编辑好了。
如图片所示代码
Sum],{i,1,Length}]
为什么不写成 Total 呢 又做了一道!
http://projecteuler.net/index.php?section=problems&id=48
Clear["Global`*"];(*Clearallvariables*)
a=Table,{i,1,1000}];
Mod],{i,1,Length}],10^10]
9110846700(*就是这个结果*)
pe9
Module[{a = 0, b = 0, c = 0},
While[a + b + c != 1000,
a = RandomInteger[{100, 400}];
b = RandomInteger[{100, 400}];
c = Sqrt;
];
Print[{a, b, c, a*b*c}];
] // Timing
7# chyanog
此题是笔算题: a+b+c =(m^2-n^2) +(2mn) +(m^2+n^2) =1000
即 m(m+n) =500m>n
放缩一下,得到 5\sqrt(10) < m <10\sqrt(5),又因为 m 是500 的因子.
所以 m只能是20 ,于是n= 25-20 =5
所以 abc=2mn(m^4-n^4) = 200*(160000-625) = 31875000
pe9
Module[{a = 0, b = 0, c = 0},
While[a + b + c != 1000,
a = RandomInteger[{100, 400}];
b = RandomInteger[{100, 400}];
c = Sqrt;
];
Print[{a, b, c, a*b*c}];
] ...
chyanog 发表于 2011-4-9 22:58 http://bbs.emath.ac.cn/images/common/back.gif
真大胆呀,居然用随机数做算法,不过如果a+b+c的和比较大的话,差不多就会失败吧 Sum,{i,1,Length}]
为什么不写成 Total 呢
wayne 发表于 2011-4-9 22:07 http://bbs.emath.ac.cn/images/common/back.gif
很简单呀,我不知道Total这个函数呀!
我深受matlab的影响,matlab中的sum可以对向量求和的,
但是不知道mathematica中对向量求和的居然是Total
页:
[1]
2