在 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
廣告
資料結構
網路
RDBMS
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP