题解 | #质数因子# C++解法,帮二楼大佬改进后的代码,3ms通过
质数因子
http://www.nowcoder.com/practice/196534628ca6490ebce2e336b47b3607
#include<bits/stdc++.h> using namespace std; int main() { long m; while(cin>>m) { for(long i=2;i*i<=m;i++) { while(m%i==0) { cout<<i<<" "; m/=i; } } if(m>=2) cout<<m<<" ";//如果m=1,则while循环中刚好被质数分解完,如果大于1,说明没有被分解完,m就是那最后一个质数 //同时,这句也可以应对输入为质数的特殊情况 cout<<endl; } }