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 }