Python 中將三個數字變為零
假設我們有三個數字。任務是計算將所有這些數字都變為“0”所需的最佳步驟總數。
例如
輸入-1
a = 4 b = 4 c = 6
輸出
7
解釋
將所有數字都變為“0”所需的最佳步驟總數為:
(4, 4, 6)
從第一個和第二個數字中減去“1” = (3, 3, 6)
從第一個和第三個數字中減去“1” = (2, 3, 5)
從第一個和第三個數字中減去“1” = (1 ,3, 4)
從第一個和第三個數字中減去“1” = (0 ,3 ,3)
從第二個和第三個數字中減去“1” = (0 ,2, 2)
從第二個和第三個數字中減去“1” = (0, 1, 1)
從第二個和第三個數字中減去“1” = (0, 0, 0)
因此,將所有數字變為零的總步驟數為“7”。
解決此問題的方法
為了解決這個問題,我們將從任意兩個數字中減去“1”,使得這兩個數字之和大於最後一個數字。為了找到將其變為零的最小步驟數,我們將計算最小步驟數。
- 將三個數字作為輸入。
- 使用**sort**將數字按升序排序。
- 檢查兩個數字之和是否小於第三個數字,如果是,則返回該和。
- 由於每次我們都從任意兩個數字中減去“1”,因此將所有數字變為“0”需要 (n1+n2+n3)/2 步。
示例
def maxScore(a: int, b: int, c: int): a, b, c = sorted((a, b, c)) if a + b < c: return a + b return (a + b + c)//2 a=4 b=4 c=6 print(maxScore(a,b,c))
執行以上程式碼將生成以下輸出:
輸出
7
對於給定的輸入 a=4、b=4 和 c=6,將所有數字變為“0”需要七步。因此,程式返回 7 作為輸出。
廣告
資料結構
網路
關係型資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP