找出电池组合数量的 C++ 代码


假设我们有 n 个电池,每个电池最多可使用 5 次。我们有一些需要三个电池的设备,并且每次使用设备都会将电池的使用次数增加 1。如果我们必须使用设备 k 次,我们必须找出能制造多少电池组合来为设备供电。电池不能同时在两个设备中使用,并且已经使用 5 次的电池不能包括在内。电池的使用次数在数组 batt 中给出。

因此,如果输入是 n = 6、k = 2、batt = {2、4、4、2、1、3},那么输出将是 1。

只能制造一个电池组合来为设备供电 k 次。

步骤

要解决此问题,我们将遵循以下步骤 -

ans := 0
for initialize i := 0, when i < n, update (increase i by 1), do:
   if batt[i] + k <= 5, then:
      (increase ans by 1)
return ans / 3

示例

让我们看看以下实现以获得更好的理解

#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;
}

输入

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

输出

1

更新时间:11-03-2022

269 次浏览

开启您的 职业

完成课程认证

开始
广告