华为OD机试(JAVA)真题 2023(汽水瓶\随机数\进制转换)

2023-11-16

系列文章目录



前言

在这里插入图片描述


一、 1.汽水瓶

某商店规定:三个空汽水瓶可以换一瓶汽水,允许向老板借空汽水瓶(但是必须要归还)。
小张手上有n个空汽水瓶,她想知道自己最多可以喝到多少瓶汽水。
数据范围:输入的正整数满足
1


100

1≤n≤100

注意:本题存在多组输入。输入的 0 表示输入结束,并不用输出结果。
输入描述:
输入文件最多包含 10 组测试数据,每个数据占一行,仅包含一个正整数 n( 1<=n<=100 ),表示小张手上的空汽水瓶数。n=0 表示输入结束,你的程序不应当处理这一行。

输出描述:
对于每组测试数据,输出一行,表示最多可以喝的汽水瓶数。如果一瓶也喝不到,输出0。

示例1
输入例子:
3
10
81
0
输出例子:
1
5
40
例子说明:
样例 1 解释:用三个空瓶换一瓶汽水,剩一个空瓶无法继续交换
样例 2 解释:用九个空瓶换三瓶汽水,剩四个空瓶再用三个空瓶换一瓶汽水,剩两个空瓶,向老板借一个空瓶再用三个空瓶换一瓶汽水喝完得一个空瓶还给老板

import java.util.Scanner;

// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        // 注意 hasNext 和 hasNextLine 的区别
        while (in.hasNextInt()) { // 注意 while 处理多个 case
            int a = in.nextInt();
             if(a == 0) break;
            System.out.println(fun(a));
        }
    }
    public static int fun(int a){
        if(a == 1) return 0 ;
        if(a == 2)return 1 ;
        return a / 2 ;
    }
}

2个瓶子 就在借一个 恰好喝一个 还一个
奇数就是 n/2 剩一个空瓶 偶数就是n/2

二 明明的随机数

明明生成了

N个1到500之间的随机整数。请你删去其中重复的数字,即相同的数字只保留一个,把其余相同的数去掉,然后再把这些数从小到大排序,按照排好的顺序输出。

数据范围:

1≤n≤1000 ,输入的数字大小满足

1≤val≤500

输入描述:
第一行先输入随机整数的个数 N 。
接下来的 N 行每行输入一个整数,代表明明生成的随机数。
具体格式可以参考下面的"示例"。
输出描述:
输出多行,表示输入数据处理后的结果

示例1
输入例子:
3
2
2
1
输出例子:
1
2
例子说明:
输入解释:
第一个数字是3,也即这个小样例的N=3,说明用计算机生成了3个1到500之间的随机整数,接下来每行一个随机数字,共3行,也即这3个随机数字为:
2
2
1
所以样例的输出为:
1
2

import java.util.*;

// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
         int n = in.nextInt();
          
          TreeSet<Integer> set = new TreeSet<>();
          for(int i = 0 ; i < n ; i++){
                 set.add(in.nextInt());
          }
         for(Integer a : set){
            System.out.println(a);
         }
    }
}

进制转换
写出一个程序,接受一个十六进制的数,输出该数值的十进制表示。

数据范围:保证结果在

1≤n≤2 ^31 −1

输入描述:
输入一个十六进制的数值字符串。

输出描述:
输出该数值的十进制字符串。不同组的测试用例用\n隔开。

示例1
输入例子:
0xAA
输出例子:
170

import java.util.Scanner;

// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        while (in.hasNextLine()) {
            String s = in.nextLine();

            int count = 0;

            for (int i = 0; i < s.length() - 2; i++) {
                //由于前面两位是'0x',故从第三位开始
                char tc = s.charAt(i + 2);
                int t = 0;    //记录字母转换成的数值

                //将字母转换为数值
                if (tc >= '0' && tc <= '9')
                    t = tc - '0';
                //字母'A'/'a'~'F''f'对应数字10~15
                else if (tc >= 'A' && tc <= 'F')
                    t = tc - 'A' + 10;
                else if (tc >= 'a' && tc <= 'f')
                    t = tc - 'a' + 10;
                //计算加和
                count += t * Math.pow(16, s.length() - i - 3);
            }
            System.out.println(count);
        }
        }
    }
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

华为OD机试(JAVA)真题 2023(汽水瓶\随机数\进制转换) 的相关文章

随机推荐

  • paddle window10环境下使用conda安装

    话 一开始也是根据别人的文章 疯狂报错 我的建议是自己先根据文档进行搭建 pip 和 conda两种方式都进行了尝试 个人更推荐conda 使用pip好像会出现版本不兼容的问题 其次是会出现要大量手动pip install 的情况 cond
  • 使用coloc 进行 QTL 共定位Colocalization

    GWAS找到显著信号位点后 需要解释显著信号位点如何影响表型 常见的一个解释方法是共定位分析 主流的共定位分析包括 1 GWAS和eQTL共定位 2 GWAS和sQTL共定位 3 GWAS和meQTL共定位 4 GWAS和pQTL共定位 其
  • win7 系统安装图解教程

    链接 http www 360doc com content 10 0720 11 1495415 40258931 shtml
  • 【经典】SpringBoot thymeleaf模板引擎——WEB开发模板引擎

    模板引擎 可以使业务数据和用户界面分离 通过模板引擎自动生成一个HTML文档 简单的说可以理解为 分离数据和界面 简化网页开发 现在主流的模板引擎有Jsp Velocity Beetl Rocker Freemarker thymeleaf
  • ROS学习笔记16:机器人系统建模与仿真

    一 概述 1 机器人系统仿真 是通过计算机对实体机器人系统进行模拟的技术 在 ROS 中 仿真实现涉及的内容主要有三 对机器人建模 URDF 创建仿真环境 Gazebo 以及感知环境 Rviz 等系统性实现 1 仿真优势 低成本 高效 高安
  • Uncaught SyntaxError: Invalid shorthand property initializer at new Function () a

    data options valueField id textField name method get 将method get 等于改为冒号 或者都是一些其他的原因 比如单引号 忘了写逗号
  • Comate: 百度智能云的代码助手

    Comate是什么 Comate是百度智能云推出的一项革命性代码辅助工具 它基于文心大模型的强大理解和推理能力 旨在提高开发者的研发效率 这个全新的工具可以实现代码的快速补齐 自然语言推荐代码和自动查找代码错误等功能 为程序开发提供了全新的
  • vscode安装

    博客 https zhuanlan zhihu com p 106357123 https code visualstudio com download
  • [创业之路-47] :动态股权机制 -2- 多轮融资股权稀释后,大股东保留控制权的常见套路

    正常来说一个蒸蒸日上的公司或者被看好的公司 都要面临融资的问题 融资之后 股权就会发生比较大的变化 多轮融资之后呢 再次引进新的合伙人呢 那时候的股权肯定低于51 甚至低于34 这时候靠什么掌控公司 1 有限合伙平台模式GP VS LP 同
  • windows安装pm2

    pm2是开源的进程管理器 可用于管理您的nodejs项目等 前段时间看到同事使用到此工具 今日特地学习安装使用 安装流程如下 1 确保你电脑安装了npm 可以通过npm v命令查看 npm v 2 安装pm2 命令 npm install
  • 程序员代码打字练习题库

    创建一个新的txt文件 将本文内容全选 粘贴 保存 然后导入金山打字通 即可练习程序员常用词汇 推荐使用金山打字通 英文文章练习 自定义课程 导入txt文件 保存 接下来你就可以联系打字了 path class classpath publ
  • 绕过protected方法的调用(包级共享)

    A类在a包 package a import b B public class A protected void sys System out println A protected sys方法 public static void mai
  • [Activiti 资料]Activiti 画图工具(activiti-designer,actiBPM,activiti-app)

    1 eclipse eclipse的画流程工具 activiti designer 1 1 直接下载Eclipse 或者下载已经安装了activiti designer的eclipse 既然你下载到了 怎么也礼节性的感谢一下哈 链接 htt
  • ENVI入门系列教程---二、图像分析---13. 遥感动态监测

    every blog every motto God helps those who help themselves https blog csdn net weixin 39190382 type blog 0 前言 遥感变化检测就是从不
  • EasyExcel,让excel导入导出更加简单

    EasyExcel EasyExcel是一个基于Java的简单 省内存的读写Excel的开源项目 在尽可能节约内存的情况下支持读写百M的Excel github地址 https github com alibaba easyexcel JA
  • 数据降维算法

    文章目录 效果一览 文章概述 部分源码 参考资料 效果一览 文章概述 数据降维算法 Matlab 基于局部费歇尔判别 LFDA 的分类数据降维可视化 部分源码
  • OpenCV Android以及扩展模块opencv_contrib的编译

    OpenCV和OpenCV contrib模块4 5 x版本的编译 环境准备 Ubuntu 16 04 1 环境变量 export ANDROID HOME work android sdk export ANDROID NDK HOME
  • 【allegro 17.4软件操作保姆级教程一】软件操作环境设置

    个人主页 highman110 作者简介 一名硬件工程师 持续学习 不断记录 保持思考 输出干货内容 目录 1操作环境准备 1 1单位设置 1 2画布面积设置 1 3软件显示设置 1 4布局显示设置 1 5格点设置 1 6大十字光标设置 1
  • 什么场景应该用 MongoDB ?

    月初在云栖社区上发起了一个 MongoDB 使用场景及运维管理问题交流探讨 的技术话题 有近5000人关注了该话题讨论 这里就 MongoDB 的使用场景做个简单的总结 谈谈什么场景该用 MongoDB 很多人比较关心 MongoDB 的适
  • 华为OD机试(JAVA)真题 2023(汽水瓶\随机数\进制转换)

    系列文章目录 文章目录 系列文章目录 前言 一 1 汽水瓶 二 明明的随机数 前言 一 1 汽水瓶 某商店规定 三个空汽水瓶可以换一瓶汽水 允许向老板借空汽水瓶 但是必须要归还 小张手上有n个空汽水瓶 她想知道自己最多可以喝到多少瓶汽水 数