共回答了20个问题采纳率:85%
%% 保存为 my_isprime.m
function [pm,ct] = my_isprime(A)
% 输入参数 A:单个自然数或自然数数组
% 输出参数 pm: 素数数组
%ct:素数个数
pm = [];
ct = 0;
w = length(A);
if w==0, return; end
for k = 1:w
vt = A(k);
fn = 2;
rt = false;
while fn<=ceil(sqrt(vt)) ~rt
rt = mod(vt,fn)==0;
fn = fn+1;
end
if rt==false vt~=1 , pm = [pm vt]; end
end
ct = length(pm);
%% 调用clc
clear all
a = input('请输入一个自然数或自然数数组范围(如:[10 20]):');
s = num2str(a);
if ~isempty(find(s==' '))
A = a(1):a(2);
else
A = a;
end
[pm,ct] = my_isprime(A);
if ct==0
mg = '输入的不是素数或者范围内没有素数。';
else
mg = ['输入的包含素数:' num2str(pm) ' 共' num2str(ct) '个'];
end
disp(mg)
1年前
6