整数因子分解问题2

[cpp] view plain copy
 
  1. <span style="font-size:18px;">#include<iostream>  
  2. #include<iterator>  
  3. #include<algorithm>  
  4. #include<time.h>  
  5. #include<vector>  
  6. using namespace std;  
  7.   
  8. /* 
  9. *整数因子分解问题 
  10. */  
  11. vector<int> vec;  
  12. static int Count = 0;  
  13. void solve(int n)  
  14. {  
  15.     if(1==n)  
  16.     {     
  17.         cout<<"第"<<++Count<<"种分解: ";  
  18.         copy(vec.begin(),vec.end(),ostream_iterator<int>(cout," "));  
  19.         cout<<endl;  
  20.     }  
  21.     for (int i = 2; i <= n; i++)  
  22.     {  
  23.         if(0==n%i)  
  24.         {  
  25.             vec.push_back(i);  
  26.             solve(n/i);  
  27.             vec.pop_back();  
  28.         }  
  29.     }  
  30. }  
  31.   
  32. int main()  
  33. {  
  34.     int n;  
  35.     long start,end;  
  36.     cin>>n;  
  37.     start = clock();  
  38.     solve(n);  
  39.     end = clock();  
  40.     cout <<"程序运行时间(单位:毫秒): "<< end-start <<endl;  
  41. }</span>  
 
 
posted @ 2017-06-18 10:32  天涯海角路  阅读(89)  评论(0)    收藏  举报