我有一堆貨物,重量分別為 :6,6,5,5,5,4,4,4,4,2,2,2,2,3,3,7,7,5,5,8,8,4,4,5我需要把這些貨物,裝入最大重量為 9 的箱子裡面(重量之和小於等於 9 的貨物可以裝到一 個箱子裡面)。請問,我最少需要多少箱子,才能把這些貨物完全裝入進去?
thing = [6, 6, 5, 5, 5, 4, 4, 4, 4, 2, 2, 2, 2, 3, 3, 7, 7, 5, 5, 8, 8, 4, 4, 5]
target = 9
def match(things, sum):
global x # x為裝箱數
x = 0
for i in range(len(things)):
for j in range(i + 1, len(things)):
if things[i] + things[j] == sum:
print([things[i], things[j]])
things[i] = 9
things[j] = 9
x = x + 1
for i in range(len(things)):
for j in range(i + 1, len(things)):
if things[i] + things[j] < sum:
print((things[i], things[j]))
things[i] = 9
things[j] = 9
x = x + 1
for i in range(len(things)):
if things[i] < sum:
print()
x = x + 1
print("共要裝%d箱" % x)
if __name__ == '__main__':
match(thing, target)
當貨物被統計一次後就被賦值為9,之後就不會被重複統計。 python分配問題 Python增加分配問題
對於運算子,python定義了乙個物件可以實現的三個 特殊 方法 add 新增兩個專案 運算子 當你做乙個b時,a的 add 方法用b作為引數來呼叫.radd reflect add 對於b,b的 radd 方法作為乙個例項被呼叫.這僅在不知道如何做新增和兩個物件是不同型別時才使用.iadd 就地新...
最少數量貨物裝箱問題
題目描述 有重量分別為3,5,7公斤的三種貨物,和乙個載重量為x公斤的箱子 不考慮體積等其它因素,只計算重量 需要向箱子內裝滿x公斤的貨物,要求使用的貨物個數盡可能少 三種貨物數量無限 輸入描述 輸入箱子載重量x 1 x 10000 乙個整數。輸出描述 如果無法裝滿,輸出 1。如果可以裝滿,輸出使用...
Python多執行緒 貨物工人模型
為了測試多執行緒效率,我寫了一段貨物工人模型 假如乙個卡車上有20件貨,每件貨有重量,1kg花費1s,2kg花費2s,以此類推,以此模型建立 如下 coding utf 8 import threading import time from random import randint 貨物源 goo...