你的算法肯定不对啊,你从小开始的,如输入12结果是234你的4不是质因子啊以下是我写的#include<iostream>using namespace std;int main(){ int n, i, m; cin >> n; m = n; for(i = 2; i <= m; i++) if(m % i == 0) { cout << i << endl; m = m / i; break; } while(m > 1) for(i = 2; i <= m; i++) if(m % i == 0) { cout << i << endl; m = m / i; break; } return 0;}