在 C++ 中计算给定二进制数组中所有可被 x 整除的前缀

c++server side programmingprogramming

在本教程中,我们将讨论一个程序来查找二进制数组中可被 x 整除的前缀的数量。

为此,我们将提供二进制数组和一个值 x。我们的任务是找出前缀可被给定值 x 整除的元素的数量。

示例

#include <bits/stdc++.h>
using namespace std;
//计算带有前缀的元素
//可被 x 整除
int count_divx(int arr[], int n, int x){
   int number = 0;
   int count = 0;
   for (int i = 0; i < n; i++) {
      number = number * 2 + arr[i];
      //增加计数
      if ((number % x == 0))
         count += 1;
   }
   return count;
}
int main(){
   int arr[] = { 1, 0, 1, 0, 1, 1, 0 };
   int n = sizeof(arr) / sizeof(arr[0]);
   int x = 2;
   cout << count_divx(arr, n, x);
   return 0;
}

输出

3

相关文章