答案中最多只包含两个2,剩下的都应该是3才是最大
class Solution {
public int cuttingRope(int n) {
if(n<=3) return n - 1;
int ans = 1;
if (n % 3 == 1) {
ans *= 4;
n -= 4;
}
if (n % 3 == 2) {
ans *= 2;
n -= 2;
}
System.out.println(ans);
ans *= Math.pow(3, n / 3);
return ans;
}
}
public class Num14II剪绳子2 {
//最多只能有两个2,其余都是3。
public int cuttingRope(int n) {
if(n<=3) return n - 1;
long ans = 1;
if (n % 3 == 1) {
ans *= 4;
n -= 4;
}
if (n % 3 == 2) {
ans *= 2;
n -= 2;
}
while (n > 0) {
ans *= 3;
ans %= 1000000007;
n -= 3;
}
return (int)ans;
}
}