题解 | #剪绳子#
剪绳子
http://www.nowcoder.com/practice/57d85990ba5b440ab888fc72b0751bf8
用归纳法发现,最大的分解都是有2,3组成。且有两个条件:
1.3越多越好
2.不能为了增加3而加入1
n/3
余0:全为3
余1:有两个2,其余全为3
余2:有一个2,其余全为3
# -*- coding:utf-8 -*- class Solution: def cutRope(self, number): # write code here shang = number//3 yu_shu = number%3 if yu_shu == 0: result = 3**shang return result elif yu_shu == 1: result = (3**(shang-1))*2*2 return result elif yu_shu == 2: result = (3**shang)*2 return result else: pass