function A=subject4(varargin)
if nargin==0
error('请至少输入一个大于1的整数');
end
N = varargin{1};
if N~=fix(N) || sum(size(N))~=2 || N<=1
error('N必须是大于1的整数');
end
if nargin==1
A=primes(N);
fprintf('输出A为1~N内的所有质数为:')
disp(A)
return;
end
n=cell2mat(varargin(2:end));
for i=1:nargin-1
if ~isprime(n(i)) || sum(size(n(i)))~=2 || n(i)<=1
error('除了第一个数外,输入的数必须是大于1的质数');
end
end
N=N*ones(1,nargin-1);
len=fix(N./n);
A=n(1)*(1:len);
for i=2:nargin-1
A=intersect(A,n(i)*(1:len));
end
fprintf('输出A为1~N内的n倍数或公倍数为:')
disp(A)
return;