题解 | #剪绳子#

剪绳子

https://www.nowcoder.com/practice/57d85990ba5b440ab888fc72b0751bf8

class Solution {

public:

    int cutRope(int number) {

        //进行数学分析后,发现每次分出去的段为3时,乘积达到最大值

        //如果最后一次分出3之后,剩下的长度为1,就把这个1加到最后一段的3而不单独分割

        int count=0,end=0;

        int fin=1;

        while(1){

            number=number-3;

            count++;

            if(number==1){

                count--;

                end=4;

                break;

            }

            if(number<=3){

                end=number;

                break;

            }

        }

        for(int i=0;i<count;i++){

            fin=3*fin;

        }

        fin=fin*end;

        return fin;

    }

};

全部评论

相关推荐

01-07 07:54
已编辑
门头沟学院 前端工程师
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务