Python練習題 剪繩子

2021-10-07 03:55:56 字數 883 閱讀 7844

# 給你一根長度為 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...