质数分解matlab程序

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

 

备注,以上程序是在网上查到的哪位“大师”写的程序的基础上修改而成(不记得来源了),大家相互学习一同探讨,一同分享。 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值