C++求解最大乘积拆分问题
#include <iostream>
#include <vector>
using namespace std;
vector<int> maxProduct(int n) {
vector<int> result;
int i = 2;
while (n > 1) {
if (n <= i * (i + 1) / 2) {
result.push_back(i);
n -= i;
} else {
i++;
}
}
return result;
}
int main() {
int n;
cin >> n;
vector<int> result = maxProduct(n);
for (int i = 0; i < result.size(); i++) {
cout << result[i] << ' ';
}
return 0;
}
原文地址: https://www.cveoy.top/t/topic/f3pW 著作权归作者所有。请勿转载和采集!