检查给定数字在C ++中是否稀疏
在本节中,我们将看到如何检查数字是否稀疏。如果数字的二进制表示形式不具有两个或两个以上的连续1,则称数字为稀疏。假设数字是72,即01001000。这里没有两个或多个连续的1。
要检查数字是否稀疏,我们将数字取为n,然后将该数字向右移一位,然后执行按位与。如果结果为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
热门推荐
10 病人祝福语老师寄语简短
11 新娘生孩子祝福语简短
12 婆婆66岁祝福语简短
13 今天孩子高考祝福语简短
14 送彩票生日祝福语简短
15 分别祝福语简短情话英文
16 画室揭牌仪式祝福语简短
17 女友妈妈生日祝福语简短
18 离别赠言离职祝福语简短