在 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