问题描述
S被定义为所有正整数的集合,这些正整数的二进制表示不具有连续的'1'。查找字典顺序,即 小于或等于给定数字的S。
例如
输入:17
输出:9
说明:集合中小于17的8个数字分别是1、2、4、5、8、9、10和16。
*输入保证在集合S中。
我的尝试:
如果输入是2的整数次幂,则它只是一个类似于斐波那契的动态编程问题。但是,如果输入不是2的整数次幂,则该想法不再起作用。因此,我正在考虑使用包含-排除,但到目前为止,我还没有找到可以在合理时间内运行的功能。任何提示都欢迎。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)