题解 | #质数因子# 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;
}
}
查看8道真题和解析
