剑指 Offer 14- II. 剪绳子 II

public int cuttingRope(int n) {
        if(n<2) return 0;
        if(n == 2) return 1;
        if(n == 3) return 2;
        int times_of_3 = n/3;
        if(n%3 == 1){
            times_of_3 --;
        }
        int times_of_2 = (n-times_of_3*3)/2;
        int res = 1;
        while (times_of_3>0){
            res = ((res+res)%1000000007 + res)%1000000007;
            times_of_3--;
        }
        while (times_of_2>0){
            res = res*2%1000000007;
            times_of_2--;
        }
        return res;
    }

 

posted @ 2020-08-08 17:16  欣姐姐  阅读(67)  评论(0编辑  收藏  举报