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

Đếm tất cả các tiền tố của mảng nhị phân đã cho chia hết cho x trong C ++

Trong hướng dẫn này, chúng ta sẽ thảo luận về một chương trình để tìm số tiền tố của mảng nhị phân chia hết cho x.

Đối với điều này, chúng tôi sẽ được cung cấp với mảng nhị phân và một giá trị x. Nhiệm vụ của chúng ta là tìm số phần tử có tiền tố chia hết cho giá trị x đã cho.

Ví dụ

#include <bits/stdc++.h>
using namespace std;
//counting the elements with prefixes
//divisible by 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];
      //increasing count
      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;
}

Đầu ra

3