mathematica 发表于 2011-1-17 08:32:40

10# wayne

不过,如果真的一行代码可以搞定的话,为什么你不把这行代码写出来呢?奇怪!

mathematica 发表于 2011-1-17 08:35:01


用Mathematica编程只需一行代码 即可搞定!!!
wayne 发表于 2011-1-17 07:56 http://bbs.emath.ac.cn/images/common/back.gif

不过,如果真的一行代码可以搞定的话,为什么你不把这行代码写出来呢?奇怪!
还有,我觉得把mathematica代码的风格写成多行比较好些,因为如果写成一行
的话,可能理解起来也很费劲,注释程序也很困难,我是不喜欢没有注释的程序,
读没有注释的程序,简直就是一种折磨!你觉得呢?

mathe 发表于 2011-1-17 09:02:15

9527(对于这个数,请见周星驰的电影吧或者百度)是个很好的数,
输出结果是{29,{241,251,257,263,269,271,277,281,283,293,307,311,313,317,331,337,347,349,353,359,367,373,379,383,389,397,401,409,419}}
居然是连 ...
mathematica 发表于 2011-1-15 16:43 http://bbs.emath.ac.cn/images/common/back.gif
9527不如9523神奇

wayne 发表于 2011-1-17 10:08:44

12# mathematica
:)
1)代码很短,甚至只有一行,有必要注释吗???
2)本来1分钟就可以把程序写好,结果多花了一分钟去注释,而且又没有打算让人家看,值得吗???
3)你难道不觉得吗,有时候注释还妨碍视线,使得阅读的效果大打折扣
4)我个人认为,Mathematica是很高级的语言,要尽量避免使用低效的For!!!

这题对于编程来说,实在太简单,我很自信,我前面说的话马上能兑现出来!!!

wayne 发表于 2011-1-17 10:14:11

这个代码是用mathematica写的,速度要快很多很多!


我可以肯定,把2011 换成更大的数,你的速度会急剧的慢下来,直至忍无可忍

zgg___ 发表于 2011-1-17 10:14:17

wayne在10层发帖或许是因为mathematica在5层说了Mathematica的坏话,呵呵。
但是wayne为M辩解的理由是不好的,代码短或许不一定是评价“善(利)于编程”的关键要素。
大家知道模块化或许是关键要素之一,这点上M就继承了c的风格,存在内部变量。其实可以看到M的设计思路中有c的影子,M一开始是在unix上的,都说明了设计者对c的感情。M的符号运算为基础的理念和对数学及算法的集成使之在数学计算上是优秀的软件平台。相信在“优秀”这一点上,wayne和mathematica的观点是应该一致吧,所以就不要吵了。呵呵。
PS:
n=2011;t={2};While<n,s=Apply;If];AppendTo]],t=Rest]];
(*要M7及以上版本*)

wayne 发表于 2011-1-17 10:17:28

本帖最后由 wayne 于 2011-1-18 10:08 编辑

10# wayne

不过,如果真的一行代码可以搞定的话,为什么你不把这行代码写出来呢?奇怪!
mathematica 发表于 2011-1-17 08:32 http://bbs.emath.ac.cn/images/common/back.gifn=2011;t=Accumulate];
Select],MemberQ]]+n]&]+1

wayne 发表于 2011-1-17 10:21:38

17# wayne
再来一个速度快点的:xx = Accumulate]; Flatten & /@ Select &]] + 1

wayne 发表于 2011-1-17 10:24:31

18# wayne
以空间换时间,所以速度快了,还可以更快,稍等

wayne 发表于 2011-1-17 10:34:36

换了一种全新的思路,但代码超过了一行,不过速度又大大提高了,可以算出200万零11只有一个解:
{222161, 222163, 222193, 222197, 222199, 222247, 222269, 222289, 222293}n = 200011; t = Range@PrimePi; sol = Select, Mod[#[], n] &], Length[#] == 2 &], #[] - #[] == n &][]
页: 1 [2] 3 4 5 6 7 8 9 10
查看完整版本: 2011这个素数, 最多是多少个连续素数的和?