#include <iostream>
#include <vector>
using namespace std;

vector<int> maxProduct(int n) {
    vector<int> factors;
    int i = 2;
    while (n > 1) {
        if (n % i == 0) {
            factors.push_back(i);
            n /= i;
        } else {
            i++;
        }
    }
    return factors;
}

int main() {
    int n;
    cin >> n;
    vector<int> factors = maxProduct(n);
    for (int i = 0; i < factors.size(); i++) {
        cout << factors[i] << " ";
    }
    cout << endl;
    return 0;
}
C++算法题解:最大乘积问题 - 如何找到和为n的因子,使其乘积最大

原文地址: http://www.cveoy.top/t/topic/f3pX 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录