用mathematica编辑一个输出质数的程序

作者&投稿:尹软 (若有异议请与网页底部的电邮联系)
mathematica求助!!求1到1000之间的所有素数,并输出这些素数及其和。(利用素数的定义编写程序)~

哈?拿着mathematica却要用原始素数定义来解题?锈到了吗?
list = Select[Range@1000, PrimeQ]
Total@list

得到的答案是:

(*
{2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97, 101, 103, 107, 109, 113, 127, 131, 137, 139, 149, 151, 157, 163, 167, 173, 179, 181, 191, 193, 197, 199, 211, 223, 227, 229, 233, 239, 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, 421, 431, 433, 439, 443, 449, 457, 461, 463, 467, 479, 487, 491, 499, 503, 509, 521, 523, 541, 547, 557, 563, 569, 571, 577, 587, 593, 599, 601, 607, 613, 617, 619, 631, 641, 643, 647, 653, 659, 661, 673, 677, 683, 691, 701, 709, 719, 727, 733, 739, 743, 751, 757, 761, 769, 773, 787, 797, 809, 811, 821, 823, 827, 829, 839, 853, 857, 859, 863, 877, 881, 883, 887, 907, 911, 919, 929, 937,
941, 947, 953, 967, 971, 977, 983, 991, 997}

76127

*)

Total@Prime[Range[PrimePi[10]]]

In[44]:= n = Input["输入大于1的自然数n:"];
Timing[sushumax[2] = 2;
sushu[n_] := Module[
{ii},
Union[Table[sushumax[ii], {ii, 2, n}]]
];
sushumax[n_] := Module[
{ii},
If[IntegerQ[n] && n > 1,
If[n == 2, {2},
If[Product[Mod[n, sushumax[ii]], {ii, 2, n - 1}] != 0,
n,
sushumax[n - 1]
]
]
, Print["警告:请输入大于1的自然数"]
]
];
sushu[n]
]

Out[45]= {6.859, {2, 3, 5, 7, 11, 13, 17}}

效率很低但是觉得满足条件.
我输了17算了6.859秒,如果你输20可能要算1分钟以上,但是结果绝对正确.

不需要测试时间的话直接用下面的程序就可以了.
n = Input["输入大于1的自然数n:"];
sushumax[2] = 2;
sushu[n_] := Module[{ii}, Union[Table[sushumax[ii], {ii, 2, n}]]];
sushumax[n_] :=
Module[{ii},
If[IntegerQ[n] && n > 1,
If[n == 2, {2},
If[Product[Mod[n, sushumax[ii]], {ii, 2, n - 1}] != 0, n,
sushumax[n - 1]]], Print["警告:请输入大于1的自然数"]]];
If[NumberQ[sushumax[n]], sushu[n]]
或者:
n = Input["输入大于1的自然数n:"];
Timing[sushumax[2] = 2;
sushu[n_] := Module[{ii}, Union[Table[sushumax[ii], {ii, 2, n}]]];
sushumax[n_] :=
Module[{ii},
If[IntegerQ[n] && n > 1,
If[n == 2, {2},
If[Count[Table[Mod[n, sushumax[ii]], {ii, 2, n - 1}], 0] == 0, n,
sushumax[n - 1]]], Print["警告:请输入大于1的自然数"]]];
If[NumberQ[sushumax[n]], sushu[n]]]

Prime[Range[2,n]]

这样就得到了 2,3,...n 以内的所有质数


人性用英文怎么说
These key traits of our humanity are threatened by the “ mathematization of subjectivity, ” as Leon wieseltier calls it.敌对双方发现了共通人性的感人 故事 The heart-warming story of enemies who discover a shared humanity 这就是他们如何宣扬他们的人性。This is how they ...

新GRE阅读长难句解析4
意群训练:Thus, for instance, it may come as a shock to mathematiians to learn that the Schrodinger equation for the hydrogen atom is not a literally correct description of this atom, but only an approximation to a somewhat more correct equation taking account of spin, magnetic ...

数学软件(比如matlab及mathematia)产生的原因及背景。。 用于写毕业论...
matlab,矩阵实验室。自然就是为了方便进行矩阵运算出现的咯。后来矩阵论发展了,很多地方都用得着矩阵来处理数据,就强大了。又因为很多人帮忙写子程序,就更强大了

mathcad好用吗?
新手上手快,界面做的很好。比如解方程直接把方程式写好,solve直接出结果,简单计算的话,不需要学语言,画图也很方便。平常就做计算器使的,帮助里面有个Quicksheets,这里面都是小实例,刚学的时候照这做就好了。

对物理学而言,哪些数学是重要的?
不过首先要强调一件事:做物理的人,应该知道为什么我们要研究某个领域,历史是很重要的。温伯格的书一向先讲历史,再梳理物理;维尔切克在他的科普书中也强调关注物理发展的历史对学习物理的重要性。这是两个诺贝尔物理学奖第二梯度的人的切身经验。一个实例则是为什么要学习量子场论,这就是历史遗留...

关于英语学习计划的英语作文,用将来时
i must make quite amount of topic special practice to consolidate the knowledge. Second is to review mathematis. because politics has begun to be reviewed, the time toreview mathematiswill be reduced correspondingly,andthe number of doing the mathes exercises also could reduce. Therefore...

数学和物理之间有什么关系?
物理问题的研究一直与数学密切相关。作为近代物理学始点的牛顿力学中,质点和刚体的运 来刻画,求解这些方程就成为牛顿力学中的重要数学问题。这种研究一直持续到今天。例如,天体力学中的三体问题和各种经典的动力系统都是长期研究的对象。在十八世纪中,牛顿力学的基础开始由变分原理所刻画,这又促进了变分...

所有星期科目月份用英语单词怎么写
星期类 Monday (星期一) Tuesday (星期二) Wednesday (星期三) Tursday (星期四) Friday (星期五) Saturday (星期六) Sunday (星期日)科目类 Chinese (语文) Math(Mathematies) (数学) English (英语) Pgysics (物理) Biology (生物) ...

张庆祥代表作
1996年,他在《高校应用数学学报》上探讨了非光滑非凸半无限规划的非控解的充分性,对复杂问题的处理提供了深入见解,文章发表在11(4)期,461-466页。2001年,张庆祥在《Numerrical Mathemations-A Journal of Chinese University (English Series)》上,继续研究了关于准Bs-Invex半无限规划的解决方案的...

克兰克 尼克尔森方法怎么用 最好有mathematica的程序
相应的公式在百科里是可以找的到的啊,直接谷歌“crank nicolson mathematia”也能找到好几段代码。顺便你到底是在学写这个算法还是单纯地想解微分方程?如果只是要解方程的话,那就趁早扔掉这个古董算法改用NDSolve去。

新洲区19356564216: 如何用mathematica编程输出下面的式子? -
斗柔业立: 大概这样?:Total@Table[Sqrt[(4 - ii + j[jj] - m[jj]) (ii - 3 + j[jj] + m[jj])]/(x[ii] - 2 \[Epsilon][jj]), {ii, 3}, {jj, 3}]

新洲区19356564216: Mathematica编程 -
斗柔业立: 我好几年没弄Mathematica了,刚才网上看了一下它的语法,弄了一个最笨的方法. 但可行. 代码如下: info = expr[{"+"}, {"-"}, {"*"}]; For [a=1,a<4,a++, For [b=1,b<4,b++, For [c=1,c<4,c++, For [d=1,d<4,d++, For [e=1,e<4,e++, For [f=1,f<4...

新洲区19356564216: 如何使用mathematica -
斗柔业立: Mathematica >01 打开Mathematica,输入“Integrate[(Cos[x]^2 - Sin[x])/Cos[x]/(1 + Cos[x] E^Sin[x]), x]”,注意不包含双引号,英文状态下输入. 按Shift+Enter就可以得到结果了.点击“更多”还会有其它诸如绘图、求极值等功能. 共2图>02 ...

新洲区19356564216: 怎么用mathematica把一个函数的定义域输入,输出值域,和输入值域,输出定义域?
斗柔业立: 利用reduce函数,假定函数f为: f = Log[(x^2 - 1)/(x^2 - 2)] Reduce[y == Log[(x^2 - 1)/(x^2 - 2)] &gt; 0 &amp;&amp; x \[Element] Reals, x] e1 = Reduce[-Sqrt[((-1 + 2 E^y)/(-1 + E^y))] &lt; 0 &amp;&amp; y \[Element] Reals] e2 = Reduce[Sqrt[(-1 + 2 E^y)/...

新洲区19356564216: 用Matlab编写一个文件要求输矩阵a,输出平均数,标准差,秩 -
斗柔业立: 矩阵为A,比如你要导入Excel的数据就是A=[] 在括号里粘入你想要的数据就行平均数是mean(A);标准差是std(A);秩是rank(A).

新洲区19356564216: 用Mathematica语言编写程序 -
斗柔业立: RandonReal这个命令可以用来产生赝随机数,Mean命令可以做平均,-----------------RandomReal[1, 100]列出100个0到1之间的随机数-----------------Mean[%]算出平均值-----------------找出小于0.5用下面命令Do[If[s[[i]] < 0.5, j = j + 1, j = j], {i, 1, 100}]然后看j的值就ok了我用的是Mathematica7.0

新洲区19356564216: 用mathematica软件怎么输入一个无穷维的矩阵 -
斗柔业立: 有一个无穷维的矩阵,每一个矩阵元也是有无穷项的,但是可以写出来解析式(或者叫通项公式),Table就可以,你看看Table的自带帮助.

新洲区19356564216: 如何在mathematica里输入以下字符 -
斗柔业立: 展开全部1. OverBar[\[Psi]] 2. 不清楚是什么样子 3. 是不是这个, \[ScriptCapitalK] 4. Latex 转成 Mathematica ToExpression[ToString["k_{\mu}\gamma^{\mu}"], TeXForm]

新洲区19356564216: 如何利用mathematica解方程并输出 -
斗柔业立: in={9, 20, 5}; FindRoot[BesselJ[1, c] == BesselJ[3, c]*10^(#/20), {c, 0.01}] & /@ in

新洲区19356564216: Mathematica4怎么输入导数符号 -
斗柔业立: 直接用英文单引号就行,例如定义函数f[x] f[x_]:=x^3; 那么它的一阶导数就写作f'[x],二阶导数就写作f''[x],以此类推

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网