码迷,mamicode.com
首页 > 其他好文 > 详细

分解质因数

时间:2016-10-04 07:59:16      阅读:116      评论:0      收藏:0      [点我收藏+]

标签:c++   质因数   

#include <iostream>
using namespace std;
void prim(int m,int n){
     if(m>=n){
         while(m%n) n++;
         m/=n;
         prim(m,n);
         cout<<n<<endl;
     }
 }
 int main(){
     int m=10986;
     prim(m,2);
     return 0;
 }


  1. m%n 表示取余,余数为 0 时表示 n 能整除 m

  2. 当 n 不能整除 m 时,m%n 不为 0,表达式为真;否则跳出 while

  3. 跳出 while 表示找到了 m 的一个因子 n,因此将 m 除以 n,进入递归寻找新的因子

  4. 由于输出因子 n 的命令在递归之后,因此对重复的因子只会输出一次

  5. 显然只会输出素因子

分解质因数

标签:c++   质因数   

原文地址:http://robogo.blog.51cto.com/12103794/1858579

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!