拆分数最大乘积
题目描述,一个数拆分成n个整数相加,n1+n2+n3+......+nn,使得n1*n2*n3*......nn最大。
Exp:
输入:12
输出:81
#include<iostream>
using namespace std;
int main(){
int n,res,t;
cin >> n;
if (n == 1){
cout << 0 << endl;
}
else if (n == 2){
cout << 1 << endl;
}
else if (n == 3){
cout << 2 << endl;
}
else{
if (n % 2 == 1){
t = 3;
n = n - 3;
}
else{
t = 1;
}
cout << t*pow(3, n / 6 * 2)*pow(2, n % 6 / 2) << endl;
}
system("pause");
return 0;
}