拆分数最大乘积

拆分数最大乘积

题目描述,一个数拆分成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;
}

猜你喜欢

转载自blog.csdn.net/heart_leader/article/details/79853736
今日推荐