#include <iostream> using namespace std; int main() { int a, b; b=2; cin >> a; if(a == 1) { cout<< a; } while(b*b-1<a) { while(a%b==0) { a=a/b; cout<<b<<' '; } b++; } if(a != 1) { cout<< a << endl; } } // 64 位输出请用 printf("%lld")
主要难度在while的循环条件需要确保最小,降低时间复杂度