matlab 编程 编制函数M文件求出某自然数范围内的全部素数,即给定参量n之后,能求出1到n之间的全部素数
答案:2 悬赏:20
解决时间 2021-02-26 11:45
- 提问者网友:回憶丶初
- 2021-02-26 07:45
matlab 编程 编制函数M文件求出某自然数范围内的全部素数,即给定参量n之后,能求出1到n之间的全部素数
最佳答案
- 二级知识专家网友:請叫我丶偏執狂
- 2021-02-26 08:15
在Matlab下输入:edit,然后将下面两行百分号之间的内容,复制进去,保存
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
function x=myprime(n)
a=2:n;
x=a(isprime(a));
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
在Matlab下面输入:
myprime(20)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
function x=myprime(n)
a=2:n;
x=a(isprime(a));
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
在Matlab下面输入:
myprime(20)
全部回答
- 1楼网友:输掉的尊严
- 2021-02-26 08:50
这是最传统的做法
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
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯