这道题我直接参考网上的解法,考数学问题。
唯一分解定理:(反正我没听过 hhh),一个数能且只能分解为一组质数的乘积,注意是只有一组质数,如果输入的数字满足题目的条件,那么就只能分解为两个质数的乘积,所以在小于且大于1的自然数中,就只有那两个质数可以整除它,直接不可能有其他质数再去整除它(因为题目限制了两个质数),所以只要先找到第一个质数,就可以得出第二个质数,并且不需要判断他是不是质数。
代码#includeusing namespace std; int main() { int n; cin>>n; for(int i = 2; i <= n; i++) { if(n % i == 0) { cout<<(n / i); return 0; } } }


![P1075 [NOIP2012 普及组] 质因数分解 P1075 [NOIP2012 普及组] 质因数分解](http://www.mshxw.com/aiimages/31/716949.png)
