在本教程中,我们将讨论一个程序,以查找可被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