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

Chương trình tìm phép cộng phần tử tối thiểu cần thiết để nhận tổng mục tiêu bằng Python

Giả sử chúng ta có danh sách các số được gọi là num và hai biến khác k và t. Chúng ta hãy xem xét một phép toán trong đó chúng ta chọn một phần tử nói là e trong phạm vi [-k, k] và chèn nó vào nums ở cuối. Chúng tôi phải tìm số lượng phép toán tối thiểu cần thiết để tổng các số bằng với mục tiêu.

Vì vậy, nếu đầu vào là nums =[3, 1] k =4 t =19, thì đầu ra sẽ là 4 vì chúng ta có thể thêm như [3, 1, 4, 4, 4, 3] để có tổng 19 .

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

  • Total:=tổng của tất cả các phần tử có trong nums

  • diff:=| t - tổng số |

  • kết quả:=tầng của (diff / k)

  • nếu kết quả * k không giống với kết quả khác, thì

    • kết quả:=kết quả + 1

  • trả về kết quả

Ví dụ

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

def solve(nums, k, t):
   total = sum(nums)

   diff = abs(t - total)
   result = diff // k

   if result * k != diff:
      result = result + 1

   return result

nums = [3, 1]
k = 4
t = 19
print(solve(nums, k, t))

Đầu vào

[3, 1], 4, 19

Đầu ra

4