在 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
廣告