第一题答案
function decomposetoprime(r)
%证明大于6的任意整数都能分解为两个质数之和
if ~isvector(r),return;end;%向量判定
if size(r,1)>1|| size(r,2)>1 ,return;end;%单数判定
if ~(r==fix(r)),return;end;%整数判定
if ~(r>=6),return;end;%大于6判定
if mod(r,2) ,return;end;%偶数判定
%开始
p=[];q=[];
for i=1:r
if isprime(i) && isprime(r-i)
p=[p i];
q=[q r-i];
end;
end;
k=size(p,2);
if ~k ,return;end;
if mod(k,2)
k=(k+1)/2;%k奇数修正
else
k=k/2;
end;
fprintf('对%d的质数有%d种分解方法,分解如下:n',r,k);
for i=1:k
fprintf('%d=%d+%dn',r,p(1,i),q(1,i));
end;
end
第二题用
findstr就可以 正如一楼所说,在此不再赘述,可以参考下Help