Computer >> Máy Tính >  >> Lập trình >> Python

Chương trình tìm thanh kem tối đa bằng Python

Giả sử chúng ta có một mảng chi phí với n phần tử, trong đó giá [i] là giá của thanh kem thứ i tính bằng đồng xu. Ban đầu, chúng tôi có số đồng xu để chi tiêu và chúng tôi muốn mua càng nhiều thanh kem càng tốt. Chúng ta phải tìm số lượng thanh kem tối đa mà chúng ta có thể mua bằng c đồng.

Vì vậy, nếu đầu vào giống như chi phí =[3,1,4,5,2], c =10, thì đầu ra sẽ là 4 vì tổng cộng chúng ta có thể mua các thanh kem ở các chỉ số 0,1,2,4 giá của 3 + 1 + 4 + 2 =10.

Để giải quyết vấn đề này, chúng tôi sẽ làm theo các bước sau -

  • sắp xếp danh sách chi phí

  • i:=0

  • trong khi tôi =chi phí [i], thực hiện

    • c:=c - chi phí [i]

    • i:=i + 1

  • trả lại tôi

Ví dụ

Hãy cùng chúng tôi xem cách triển khai sau để hiểu rõ hơn -

def solve(costs, c):
   costs.sort()
   i=0
   while(i<len(costs) and c >= costs[i]):
      c = c-costs[i]
      i=i+1
   return i

costs = [3,1,4,5,2]
c = 10
print(solve(costs, c))

Đầu vào

[3,1,4,5,2], 10

Đầu ra

4