mathematica 能像Matlab 或者C 语言那样写实现一定功能的子函数吗? 5

在C语言或者Matlab中,可以写一些常用的子函数。但是mathematica中不可以,mathemactica只能写一个数学意义上的函数。不知道怎么样用mathemat... 在C 语言或者Matlab中,可以写一些常用的子函数。但是mathematica 中不可以,mathemactica只能写一个数学意义上的函数。不知道怎么样用mathematica 写一个自定义子函数实现 质数判断。 展开
 我来答
草红样
2013-11-23 · TA获得超过240个赞
知道小有建树答主
回答量:137
采纳率:0%
帮助的人:157万
展开全部
听谁说不可以了?

isPrime1[n_] := Catch[Do[If[Mod[n, i] == 0, Throw@False], {i, 2, n^.5}]; True];
isPrime2 = #~Mod~Range[2, # - 1]~FreeQ~0 &;

Select[Range[2, 100], isPrime1]
Select[Range[2, 100], isPrime2]

Clear["`*"];
isPrime = Compile[{{n, _Integer}},
Catch[Do[If[n~Mod~i == 0, Throw@0], {i, 2, n^.5}]; 1],
RuntimeAttributes -> {Listable}];

isPrime@Range[2, 10^5] // Tr // AbsoluteTiming
Range[2, 10^5] /. r_ :> Pick[r, isPrime@r, 1] // Length // AbsoluteTiming
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式