输入数字,0结束,判断输入的数字中的素数

clc;        %清空命令行窗口的数据
clear;      %清除工作空间的变量
k = 1;
n = 0;      %素数的个数
while 1
    zzs(k) = input('请输入正整数: ');
    if zzs(k) == 0
        break;
    end
    
    flag = 1;   %判断是否为素数
  
    for yz = 2 : sqrt(zzs(k))    %因子从2开始至该数的平方根
        if mod(zzs(k),yz) == 0      %除尽因子,就不为素数
            disp(['不是素数',yz])
            flag = 0;
            break;
        end
    end
    if flag == 1  | zzs(k) == 2            %2也算素数
        n = n + 1;
        sus(n) = zzs(k);
    end
    
    k = k +1;
end
disp(['你共输入了',num2str(k-1),'个正整数。依次为:'])
disp(zzs(1:k-1))          
if n==0
    disp('这些数中没有素数')
else
    disp(['其中的素数有',n,'个,分别为:'])
    disp(sus)
end 

 

相关文章:

  • 2022-01-02
  • 2021-10-18
  • 2022-01-22
  • 2021-11-22
  • 2021-05-08
  • 2021-07-29
  • 2021-04-29
  • 2021-12-26
猜你喜欢
  • 2021-07-26
  • 2022-12-23
  • 2022-12-23
  • 2022-02-04
  • 2021-04-10
相关资源
相似解决方案