clear all
% dispStr = '';
n=input('pelase input the number:'); %保存输入的值
m=2; %从最小的质数2开始
nstr = num2str(n);
dispStr = strcat(nstr, '=');
while(1)
if(~mod(n,m)) %找到可以整除的数
k=m;
if(n==k) %找到最后一个质数
nstr = num2str(n);
dispStr = strcat(dispStr, nstr);
break; %跳出循环
else
n=n/k; %将n除以质数的值继续循环
m=1; %保证质数还是从2开始
nstr = num2str(k); %将分解的质数保存
dispStr = strcat(dispStr, nstr, '*');
end
end
m=m+1;
end
disp(dispStr); %显示分解结果
>> primeAnalysis
pelase input the number:231
231=3*7*11
备注,以上程序是在网上查到的哪位“大师”写的程序的基础上修改而成(不记得来源了),大家相互学习一同探讨,一同分享。