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;

    }

};