在 C++ 中檢查給定的數字是否稀疏


在本節中,我們將瞭解如何檢查一個數字是否稀疏。如果數字的二進位制表示中沒有連續兩個以上的 1,則稱該數字稀疏。假設一個數字為 72,其二進位制表示為 01001000。這裡沒有兩個以上連續的 1。

要檢查一個數字是否稀疏,我們將把數字作為 n,然後將該數字向右移一位,並執行按位 AND。如果結果為 0,則該數字是稀疏數字,否則不是。

示例

 動態演示

#include <iostream>
using namespace std;
bool isSparseNumber(int n) {
   int res = n & (n >> 1);
   if(res == 0)
      return true;
   return false;
}
int main() {
   int num = 72;
   if(isSparseNumber(num)){
      cout << "This is sparse number";
   } else {
      cout << "This is not sparse number";
   }
}

輸出

This is sparse number

更新日期:2019-10-21

445 次瀏覽

啟動您的 職業生涯

完成課程即可獲得認證

開始
廣告