在 C++ 中計算給定二進位制陣列中所有可被 x 整除的字首的個數


在此教程中,我們將討論一個程式,用於查詢二進位制陣列中可被 x 整除的字首個數。

為此,我們將提供二進位制陣列和一個值 x。我們的任務是查詢其字首可被給定值 x 整除的元素個數。

示例

 即時演示

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

輸出

3

更新於:17-Feb-2020

90 次瀏覽

啟動您的職業生涯

完成課程獲得認證

開始
廣告
© . All rights reserved.