在matlab中如何编程实现:从键盘输入任意个正整数,以0结束,输出那些正整数中的素数

如题所述

方法一:
a(1)=input('请输入一个正整数:');
s=1;
while a(s)~=0;
s=s+1;
a(s)= input('请输入一个正整数:');
end;m=a(isprime(a)==1)

方法二:
clear;f=input('输入');i=1;
while f~=0
if isprime(f)
z(i)=f;
i=i+1;
end;
f=input('输入');
end;z

方法三:
y(1)=input('请输入第1个数:');
i=1;
while y(i)~=0
i=i+1;
y(i)=input(['请输入第',num2str(i),'个数:']);
end
disp('输入结束!敲任意键继续...')
pause;
k=1;
for a=1:i
b=y(a);
if b==1;
d(k)=1;
k=k+1;
end
if b==2
d(k)=2;
k=k+1;
end
for c=2:(b-1)
if mod(b,c)==0;
break;
end;
e=c
end;
if e==(b-1);
d(k)=b;
k=k+1;
end
end
disp('素数为d:')
d

个人觉得第一种方法比较好!!!!!因为比较短!!!!呵呵
温馨提示:答案为网友推荐,仅供参考