在指定区间里,找二进制数含指定个数‘1’的个数 - 小赛是一名幸运的程序员。 虽然他成功帮助小朋友以最快时间夺回了狼堡,但是面试官却打算和他说拜拜了。

本文主要是介绍在指定区间里,找二进制数含指定个数‘1’的个数 - 小赛是一名幸运的程序员。 虽然他成功帮助小朋友以最快时间夺回了狼堡,但是面试官却打算和他说拜拜了。,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

题目描述

小赛是一名幸运的程序员。

虽然他成功帮助小朋友以最快时间夺回了狼堡,但是面试官却打算和他说拜拜了。

理由是——游戏天赋太高,有不务正业、走火入魔的倾向QAQ……

尽管小赛很不能接受这个理由,可是却只能心灰意冷地吃下这个结果。

然而,在他即将走出门的时候,面试官给了幸运的小赛一个最后的机会。

原来,面试官的手机被他调皮的儿子小明用一个数字作为密码锁上了。

小明只记得这个数字的十进制范围是l~r,且这个数的二进制表示中恰有m个1,却不记得确切的数字了。

面试官可急坏了。这才有了小赛一个将功赎过的机会。

他想要让小赛算出,他最坏情况下,要试多少次密码才能确保打开手机呢?

请输出这个次数。

输入

输入仅一行,包含三个整数l,r,m,其中l,r表示这个数的十进制范围是l~r,m表示这个数的二进制表示中有m个1.

数据保证——

对于30%的测试点,0<=l<=r<=20,0<=m<=5,

对于70%的测试点,0<=l<=r<=1000,0<=m<=10,

对于100%的测试点,0<=l<=r<=2000000,0<=m<=24.

样例输入

1 4 2

输出

输出一行,包含一个整数,表示面试官最坏情况下,要试多少次密码才能确保打开手机。

如果小明记错了(也就是不存在任何一个数满足),则输出"-1"(不含引号)。

样例输出

1


代码:


这篇关于在指定区间里,找二进制数含指定个数‘1’的个数 - 小赛是一名幸运的程序员。 虽然他成功帮助小朋友以最快时间夺回了狼堡,但是面试官却打算和他说拜拜了。的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/836818

相关文章

Python的Darts库实现时间序列预测

《Python的Darts库实现时间序列预测》Darts一个集统计、机器学习与深度学习模型于一体的Python时间序列预测库,本文主要介绍了Python的Darts库实现时间序列预测,感兴趣的可以了解... 目录目录一、什么是 Darts?二、安装与基本配置安装 Darts导入基础模块三、时间序列数据结构与

Python一次性将指定版本所有包上传PyPI镜像解决方案

《Python一次性将指定版本所有包上传PyPI镜像解决方案》本文主要介绍了一个安全、完整、可离线部署的解决方案,用于一次性准备指定Python版本的所有包,然后导出到内网环境,感兴趣的小伙伴可以跟随... 目录为什么需要这个方案完整解决方案1. 项目目录结构2. 创建智能下载脚本3. 创建包清单生成脚本4

MyBatis Plus实现时间字段自动填充的完整方案

《MyBatisPlus实现时间字段自动填充的完整方案》在日常开发中,我们经常需要记录数据的创建时间和更新时间,传统的做法是在每次插入或更新操作时手动设置这些时间字段,这种方式不仅繁琐,还容易遗漏,... 目录前言解决目标技术栈实现步骤1. 实体类注解配置2. 创建元数据处理器3. 服务层代码优化填充机制详

python获取指定名字的程序的文件路径的两种方法

《python获取指定名字的程序的文件路径的两种方法》本文主要介绍了python获取指定名字的程序的文件路径的两种方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要... 最近在做项目,需要用到给定一个程序名字就可以自动获取到这个程序在Windows系统下的绝对路径,以下

C++统计函数执行时间的最佳实践

《C++统计函数执行时间的最佳实践》在软件开发过程中,性能分析是优化程序的重要环节,了解函数的执行时间分布对于识别性能瓶颈至关重要,本文将分享一个C++函数执行时间统计工具,希望对大家有所帮助... 目录前言工具特性核心设计1. 数据结构设计2. 单例模式管理器3. RAII自动计时使用方法基本用法高级用法

SpringBoot实现不同接口指定上传文件大小的具体步骤

《SpringBoot实现不同接口指定上传文件大小的具体步骤》:本文主要介绍在SpringBoot中通过自定义注解、AOP拦截和配置文件实现不同接口上传文件大小限制的方法,强调需设置全局阈值远大于... 目录一  springboot实现不同接口指定文件大小1.1 思路说明1.2 工程启动说明二 具体实施2

C# LiteDB处理时间序列数据的高性能解决方案

《C#LiteDB处理时间序列数据的高性能解决方案》LiteDB作为.NET生态下的轻量级嵌入式NoSQL数据库,一直是时间序列处理的优选方案,本文将为大家大家简单介绍一下LiteDB处理时间序列数... 目录为什么选择LiteDB处理时间序列数据第一章:LiteDB时间序列数据模型设计1.1 核心设计原则

MySQL按时间维度对亿级数据表进行平滑分表

《MySQL按时间维度对亿级数据表进行平滑分表》本文将以一个真实的4亿数据表分表案例为基础,详细介绍如何在不影响线上业务的情况下,完成按时间维度分表的完整过程,感兴趣的小伙伴可以了解一下... 目录引言一、为什么我们需要分表1.1 单表数据量过大的问题1.2 分表方案选型二、分表前的准备工作2.1 数据评估

java -jar example.jar 产生的日志输出到指定文件的方法

《java-jarexample.jar产生的日志输出到指定文件的方法》这篇文章给大家介绍java-jarexample.jar产生的日志输出到指定文件的方法,本文给大家介绍的非常详细,对大家的... 目录怎么让 Java -jar example.jar 产生的日志输出到指定文件一、方法1:使用重定向1、

基于Python实现数字限制在指定范围内的五种方式

《基于Python实现数字限制在指定范围内的五种方式》在编程中,数字范围限制是常见需求,无论是游戏开发中的角色属性值、金融计算中的利率调整,还是传感器数据处理中的异常值过滤,都需要将数字控制在合理范围... 目录引言一、基础条件判断法二、数学运算巧解法三、装饰器模式法四、自定义类封装法五、NumPy数组处理