Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> C++

Code C++ tìm số tổ hợp pin có thể tạo


Giả sử chúng ta có n pin có thể sử dụng tối đa 5 lần. Chúng ta có một số thiết bị cần 3 pin và mỗi lần sử dụng thiết bị sẽ làm tăng số lần sử dụng của pin lên 1. Nếu chúng ta phải sử dụng thiết bị k lần, hãy tìm số tổ hợp pin có thể tạo để cấp nguồn cho thiết bị. Một pin không thể dùng trong hai thiết bị cùng lúc và pin đã dùng 5 lần không thể đưa vào. Số lần sử dụng của các pin được cho trong mảng batt.

Ví dụ, nếu đầu vào là n = 6, k = 2, batt = {2, 4, 4, 2, 1, 3}, thì đầu ra sẽ là 1.

Chỉ có thể tạo một tổ hợp pin để cấp nguồn cho thiết bị k lần.

Các bước thực hiện

Để giải quyết bài toán này, chúng ta thực hiện theo các bước sau:

ans := 0 for khởi tạo i := 0, khi i < n, cập nhật (tăng i lên 1), do:    if batt[i] + k <= 5, thì:       (tăng ans lên 1) return ans / 3

Ví dụ minh họa

Xem triển khai sau để hiểu rõ hơn:

#include <bits/stdc++.h> using namespace std; #define N 100 int solve(int n, int k, int batt[]) {    int ans = 0;    for(int i = 0; i < n; i++){       if(batt[i] + k <= 5)          ans++;    }    return ans / 3; } int main() {    int n = 6, k = 2, batt[] = {2, 4, 4, 2, 1, 3};    cout<< solve(n, k, batt);    return 0; }

Đầu vào

6, 2, {2, 4, 4, 2, 1, 3}

Đầu ra

1