* 题目描述:
* 给出一个整数n,将n分解为至少两个整数之和,使得这些整数的乘积最大化,输出能够获得的最大的乘积。
* 例如:
* 2=1+1.输出1
* 10=3+3+4,输出36.
* 输入描述:输入为1个整数
* 输出描述:输出为1个整数
* 例如:输入10,输出36
//有一定的数据原理在里面,这里不做证明,优先拆分为3.
import java.util.Scanner;
public class ZhaoHang18_3 {
public static int integerBreak(int n) {
if(n==2) return 1;
if(n==3) return 2;
int product = 1;
while(n>4){
product*=3;
n-=3;
}
product*=n;
return product;
}
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
System.out.println(integerBreak(n));
}
}