记录
由 for(int i=2;i<=n;i++) 改成 for(int i=2;i*i<=n;i++) ,否者用例通过11个,最后一个时间超时,时间复杂度高
using namespace std;
int main()
{
int n=0;
while(cin>>n)
{
for(int i=2;i*i<=n;i++)
{
while(n!=i) //若i=n,则质因数就是n本身
{
if(n%i==0) //若i是质因数,则打印出i的值,并用商给n赋新值
{
cout<<i<<" ";
n=n/i;
}
else break;//若不能被i整除,则算下一个i
}
}
cout<<n;
}
return 0;
}