package main
/**
 * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
 *
 * 
 * @param n int整型 
 * @return int整型
*/
func cutRope( n int ) int {
    // write code here
    // 贪心算法,根据数学常识可知,将数字分为接近 2.7 的因子相乘,可以使乘积最大;
    // 那么我们只需要切割出最多的 3 和 2,不要出现 1 的情况,就可以得到最大乘积。
    // 口诀:满 3 过 2 选 3,否则选 2
    res := 1

    for n > 3 && n-3 >= 2 {
        res *= 3
        n -= 3
    }

    return res * n
}