leetcode integer break
这里有一个很有意思的结论:
当拆分一个数的时候,尽可能拆出来多的3,剩下的全是2就可以保证拆分出来数的乘积最大
if(n<=3)return n-1;
int res=1;
if(n%3==1)res*=4,res-=4;
if(n%3==2)res*=2,res-=2;
while(n)res*=3,res-=3;
return res;
leetcode integer break
这里有一个很有意思的结论:
当拆分一个数的时候,尽可能拆出来多的3,剩下的全是2就可以保证拆分出来数的乘积最大
if(n<=3)return n-1;
int res=1;
if(n%3==1)res*=4,res-=4;
if(n%3==2)res*=2,res-=2;
while(n)res*=3,res-=3;
return res;