Python算法指南:程序员经典算法分析与实现
上QQ阅读APP看书,第一时间看更新

例17 下一个稀疏数

1. 问题描述

如果一个数是稀疏数,则它的二进制表示中没有相邻的1,例如5(二进制表示为101)是稀疏数,但是6(二进制表示为110)不是稀疏数,本例将给出一个n,找出大于或等于n的最小稀疏数。

2. 问题示例

给出n=6,返回8,即下一个稀疏数是8;给出n=4,返回4,即下一个稀疏数是4;给出n=38,返回40,即下一个稀疏数是40;给出n=44,返回64,即下一个稀疏数是64。

3. 代码实现

4. 运行结果

输入:16

输出:16

输入:50

输出:64