现需要将一根长为正整数 bamboo_len 的竹子砍为若干段,每段长度均为 正整数 。请返回每段竹子长度的 最大乘积 是多少。
答案需要取模 1e9+7(1000000007),如计算初始结果为:1000000008,请返回 1。
示例 1:
输入:bamboo_len = 12
输出:81
提示:
-
2 <= bamboo_len <= 1000class Solution {
public:
int cuttingBamboo(int bamboo_len) {
if(bamboo_len<=3)return bamboo_len-1;
long rs=1;
while(bamboo_len>4){
rs*=3;
rs=rs%1000000007;
bamboo_len-=3;
}
rs=rs*bamboo_len%1000000007;
return rs;}};