# 給你一根長度為 n 的繩子,請把繩子剪成整數長度的 m 段(m、n都是整數,n>1並且m>1),每段繩子的長度記為 k[0],k[1]...k[m] 。請問 k[0]*k[1]*...*k[m] 可能的最大乘積是多少?
# 例如,當繩子的長度是8時,我們把它剪成長度分別為2、3、3的三段,此時得到的最大乘積是18。
# 示例 1:
# 輸入: 2
# 輸出: 1
# 解釋: 2 = 1 + 1, 1 × 1 = 1
## 示例 2:
# 輸入: 10
# 輸出: 36
# 解釋: 10 = 3 + 3 + 4, 3 × 3 × 4 = 36
## 2 <= n <= 58
import math
class
solution
:def
cuttingrope
(self, n)
:if n <=3:
return n -
1 a, b = n //
3, n %
3if b ==0:
return
int(math.
pow(
3, a)
)#pow() 方法返回 xy(x的y次方) 的值。
if b ==1:
return
int(math.
pow(
3, a -1)
*4)return
int(math.
pow(
3, a)*2
)n=11s=solution(
)print
(s.cuttingrope(n)
)
C C 練習題 剪繩子
劍指offer 面試題14 剪繩子 給你一根長度為n繩子,請把繩子剪成m段 m n都是整數,n 1並且m 1 每段的繩子的長度記為k 0 k 1 k m k 0 k 1 k m 可能的最大乘積是多少?例如當繩子的長度是8時,我們把它剪成長度分別為2 3 3的三段,此時得到最大的乘積18。動態規劃 適...
python書中練習題 python練習題
1 定義乙個空列表,接收從鍵盤輸入的整數,把列表傳給乙個從大到小排序的函式,再輸出排序後的列表的值 listex b 0 a int input 請輸入列表長度 while b a num int input 請輸入字元 b 1 print listex sum 0 for i in range 0...
python的練習題 Python練習題
1 使用while迴圈輸入1 2 3 4 5 6 8 9 10 i 0while i 10 i i 1 if i 7 continue print i 結果 e python python python test.py1 2 求1 100的所有數的和 i 0sum 0 while i 100 i 1...