MATLAB程序怎么运行呢?for循环和if之间???
sum=0;ss=[];fori=88:188,j=0;fork=1:iif(rem(i,k)==0)j=j+1;endendif(j<=2)ss=[ss,i];sum=...
sum=0;ss=[]; for i=88:188, j=0; for k=1:i if(rem(i,k)==0) j=j+1; end end if(j<=2) ss=[ss,i]; sum=sum
sum=0;ss=[];
for i=88:188, j=0;
for k=1:i
if(rem(i,k)==0) j=j+1;
end
end
if(j<=2)
ss=[ss,i];
sum=sum+i;
end
求88-188之间的素数 展开
sum=0;ss=[];
for i=88:188, j=0;
for k=1:i
if(rem(i,k)==0) j=j+1;
end
end
if(j<=2)
ss=[ss,i];
sum=sum+i;
end
求88-188之间的素数 展开
1个回答
展开全部
怎么现在这么多人在判断素数呢?你们都是学什么专业的?
其实判断素数可以直接用isprime命令,想要自己编程序的话
关键是判断素数的方法是否科学有效,就你的程序本身来说
存在几个小问题:首先少了一个end
其次中间的计数变量j没有保存下来,每次内循环完后,又被
置0了,我稍微改了一下,你参考一下。
clear all;clc;
A=[88:188];
ss=[];
fla=zeros(1,188-88+1);
for i=1:length(A)
j=0;
for k=1:A(i)
if rem(A(i),k)==0
j=j+1;
end
end
fla(i)=j;
if fla(i)<=2
ss=[ss,A(i)];
end
end
sum(ss)
其实判断素数可以直接用isprime命令,想要自己编程序的话
关键是判断素数的方法是否科学有效,就你的程序本身来说
存在几个小问题:首先少了一个end
其次中间的计数变量j没有保存下来,每次内循环完后,又被
置0了,我稍微改了一下,你参考一下。
clear all;clc;
A=[88:188];
ss=[];
fla=zeros(1,188-88+1);
for i=1:length(A)
j=0;
for k=1:A(i)
if rem(A(i),k)==0
j=j+1;
end
end
fla(i)=j;
if fla(i)<=2
ss=[ss,A(i)];
end
end
sum(ss)
更多追问追答
追问
我在学实例,不需要改程序,就想知道这个程序怎么运行。。。
追答
运行的话,就是从88开始,一直到188
对每个数,分别求对1到自身的余数,如果对某个数余数为0
则记数位j累加1,最后判断如果某个数除了1和自身外,再无
其他约数,即j<=2,可判断为素数。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询