如何在华为OD机试中获得满分?Java实现【不含101的数】一文详解!

news/2025/1/13 3:14:49/

请添加图片描述

✅创作者:陈书予
🎉个人主页:陈书予的个人主页
🍁陈书予的个人社区,欢迎你的加入: 陈书予的社区
🌟专栏地址: Java华为OD机试真题(2022&2023)

文章目录

  • 1. 题目描述
    • 2. 输入描述
    • 3. 输出描述
    • 4. Java算法源码
    • 5. 测试
    • 6.解题思路

1. 题目描述

小陈在学习二进制时,发现了一类不含101的数,也就是:

将数字用二进制表示,不能出现101。
现在给定一个正整数区间,请问这个区间内包含了多少个不含101的数?

2. 输入描述

输入的唯一一行包含两个正整数

3. 输出描述

输出的唯一一行包含一个整数,表示在区间内一共有几个不含101的数。

4. Java算法源码

public static void main(String[] args) {Scanner sc = new Scanner(System.in);int left = sc.nextInt();int right = sc.nextInt();int result = right - left + 1;for (int i = left; i <= right; i++) {String number_str = Integer.toBinaryString(i);if (number_str.contains("101")) {result -= 1;}}System.out.println(result);
}

5. 测试

6.解题思路

在这里插入图片描述

  1. 读取输入的左边界 left 和右边界 right
  2. 初始化结果变量 resultright - left + 1,表示初始区间内的所有数都满足条件。
  3. 使用循环遍历区间内的每个数,从 leftright
  4. 将当前数转换为二进制字符串 number_str,使用 Integer.toBinaryString() 方法进行转换。
  5. 检查二进制字符串中是否包含子字符串 "101",使用 contains() 方法进行检查。
  6. 如果包含 "101",则说明该数不满足条件,将 result 减 1。
  7. 继续遍历下一个数,直到遍历完区间内的所有数。
  8. 循环结束后,输出结果 result
    在这里插入图片描述

http://www.ppmy.cn/news/87864.html

相关文章

使用大模型学习logback框架,太香了

大模型&#xff0c;如chatGPT3.5、GPT-4&#xff0c;国内的文心一言、通义千问、讯飞星火等&#xff0c;对文字工作者&#xff0c;图片、视频工作者的工作效率提升是巨大的&#xff0c;当你学会使用这些工具之后&#xff0c;你的工作和学习效率会大大提升&#xff0c;把其他人甩…

如何借助spire.doc,在 Word 中插入 OLE 对象

Spire.Doc for .NET是一款专门对 Word 文档进行操作的 .NET 类库。在于帮助开发人员无需安装 Microsoft Word情况下&#xff0c;轻松快捷高效地创建、编辑、转换和打印 Microsoft Word 文档。拥有近10年专业开发经验Spire系列办公文档开发工具&#xff0c;专注于创建、编辑、转…

前端页面数组中对象动态切换,鼠标悬停,离开恢复自动切换

鼠标事件&#xff1a;关键词mouseenter"startScroll" mouseleave"stopScroll" “screenshotList” <div class"video-screenshot" mouseenter"startScroll" mouseleave"stopScroll"><div class"screenshot-…

Linux防火墙限制访问服务器IP和端口

Linux防火墙限制访问服务器IP和端口 笔记 逐行执行命令 firewall-cmd --state systemctl start firewalld systemctl enable firewalld firewall-cmd --get-default-zonefirewall-cmd --set-default-zonetrustedfirewall-cmd --permanent --new-zoness firewall-cmd --perma…

2023系统分析师---简答题常考概念

实体类、控制类、边界类: 实体类:实体类映射需求中的每个实体,保存需要存储在永久存储体中的信息,例如:用户、商品等; 控制类:控制类是用于控制用例工作的类,用于对一个或者几个用例所特有的控制行为进行建模。例如:结算、备货等; 边界类:边界类用于封装在用例内…

天津和平区大数据培训班哪家好?大数据适合什么人学?

当前正处于企业数据化转型的大环境&#xff0c;大数据这一行业受到越来越多人的关注&#xff0c;不少人想要借着这个势头加入大数据这一行业&#xff0c;今天小编就来给大家分析一下大数据行业&#xff0c;往下看吧。 大数据行业前景如何 大数据行业的就业前景不得不说非常好…

主机访问不到虚拟机(centos7)web服务的解决办法

目录 一、背景 二、解决办法 2.1、配置虚拟机防火墙 2.2、修改虚拟机网络编辑器 一、背景 主机可以访问外网&#xff0c;虚拟机使用命令&#xff1a;curl http://网址&#xff0c;可以访问到web服务 &#xff0c;主机使用http://网址&#xff0c;访问不到虚拟机&#xff08…

Java的内存模型(Java Memory Mode,JMM)

并发编程模型的两个关键问题 线程之间如何通信及线程之间如何同步。 线程之间如何通信&#xff1a;共享内存&#xff0c;消息传递线程之间如何同步通信是指线程之间以何种机制来 交换信息同步是指程序中用于控制不同线程间 操作发生相对顺序 的机制在共享内存的并发模型里&a…