matlab 编程 编制函数M文件求出某自然数范围内的全部素数,即给定参量n之后,能求出1到n之间的全部素数

如题所述

这是最传统的做法
function a=question(n)
a=[];
for i=2:n
k=0;
for j=2:i-1
if ~mod(i,j)
k=1;
break;
end
end
if ~k
a=[a,i];
end
end

这是另外一种做法
function a=question(n)
a=2:n;b=zeros(1,n-1);
for i=2:sqrt(n)
b(i*(2:(n/i))-1)=i*(2:(n/i));
end
a=a(~b);

楼上的做法也可以,只不过他利用了matlab自带的判断素数的函数isprime
温馨提示:答案为网友推荐,仅供参考
第1个回答  2008-07-06
在Matlab下输入:edit,然后将下面两行百分号之间的内容,复制进去,保存
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
function x=myprime(n)
a=2:n;
x=a(isprime(a));
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

在Matlab下面输入:
myprime(20)本回答被提问者采纳
相似回答