需要避免的问题:
1.过大的纯质数 i<=sqrt(input);
2.不要进行无意义的循环 a=1时就退出循环;

int main()
{
    long a,b;
    cin>>a;
    b=sqrt(a); //避免纯质数过大
    for(long i=2;i<=b&&a!=1;i++)//不做无意义的循环
    {
        while(a%i==0)
        {
            a/=i;
            cout<<i<<" ";
        }
    }
    if(a-1) cout<<a<<" ";
    return 0;
}