matlab的一道求素数的题目function a=sushu(m)k=sqrt(m);for i=2:kif rem(m,i)==0break;endendif(i>k) a=1;else a=0;end 老是运行不出来,帮忙看看怎么回事?

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/06 17:45:02
matlab的一道求素数的题目function a=sushu(m)k=sqrt(m);for i=2:kif rem(m,i)==0break;endendif(i>k) a=1;else a=0;end 老是运行不出来,帮忙看看怎么回事?

matlab的一道求素数的题目function a=sushu(m)k=sqrt(m);for i=2:kif rem(m,i)==0break;endendif(i>k) a=1;else a=0;end 老是运行不出来,帮忙看看怎么回事?
matlab的一道求素数的题目
function a=sushu(m)
k=sqrt(m);
for i=2:k
if rem(m,i)==0
break;
end
end
if(i>k)
a=1;
else
a=0;
end
老是运行不出来,帮忙看看怎么回事?

matlab的一道求素数的题目function a=sushu(m)k=sqrt(m);for i=2:kif rem(m,i)==0break;endendif(i>k) a=1;else a=0;end 老是运行不出来,帮忙看看怎么回事?
matlab里面的循环变量和c不一样
在matlab里for i=2:k,结束循环以后,i的最终值是不大于k的整数
而c,c++,里面for (i=2; ik)总是false
可以考虑用一个flag
function a=sushu(m)
k=sqrt(m);
flag=0;
for i=2:k
if rem(m,i)==0
flag=1;
break;
end
end
if(flag=0)
a=1;
else
a=0;
end