当前位置: 首页 > news >正文

【蓝桥杯日记】复盘篇二:分支结构

前言

  本篇笔记主要进行复盘的内容是分支结构,通过学习分支结构从而更好巩固之前所学的内容。

目录

前言

目录

🍊1.数的性质

分析:

知识点:

🍅2.闰年判断

说明/提示

分析:

知识点:

🍑3.肥胖问题

说明/提示

分析: 

知识点:

🌰4.三位数排序

分析:

知识点:

🍓5.买铅笔

分析:

知识点:

总结


🍊1.数的性质

题目描述

一些整数可能拥有以下的性质:

  • 性质 1:是偶数;
  • 性质 2:大于 4 且不大于 12。

小 A 喜欢这两个性质同时成立的整数;Uim 喜欢这至少符合其中一种性质的整数;八尾勇喜欢刚好有符合其中一个性质的整数;正妹喜欢不符合这两个性质的整数。现在给出一个整数 x,请问他们是否喜欢这个整数?

输入格式

输入一个整数x (0≤x≤1000)

输出格式

输出这4个人是否喜欢这个数字,如果喜欢则输出 1,否则输出 0,用空格分隔。输出顺序为:小 A、Uim、八尾勇、正妹。

输入输出样例

输入 #1

12

输出 #1

1 1 0 0
分析:

   通过非嵌套if来对每一种条件判断,可以把是否正确的数值存储在数组里边或者直接输出。

知识点:

  题目的主要知识点是if条件的判断和正确使用大小于符号,&&和||组合使用的情况。

代码如下:


import java.util.Scanner;public class Main {static int arr[] = new int[4];public static void main(String[] args) {Scanner sc = new Scanner(System.in);int x = sc.nextInt();if (x % 2 == 0 && (x > 4 && x <= 12)) {arr[0]++;}if (x % 2 == 0 || (x > 4 && x <= 12)) {arr[1]++;}if ((x % 2 == 0) && !(x > 4 && x <= 12) || (!(x % 2 == 0) && (x > 4 && x <= 12))) {arr[2]++;}if (!(x % 2 == 0) && !(x > 4 && x <= 12)) {arr[3]++;}for (int i = 0; i < arr.length; i++) {System.out.print(arr[i] + " ");}}
}

🍅2.闰年判断

题目描述

输入一个年份,判断这一年是否是闰年,如果是输出 1,否则输出 0。

输入格式

输入一个正整数 n,表示年份。

输出格式

输出一行。如果输入的年份是闰年则输出 1,否则输出 0。

输入输出样例

输入 #1

1926

输出 #1

0

输入 #2

1900

输出 #2

0

输入 #3

2000

输出 #3

1

输入 #4

1996

输出 #4

1

说明/提示

数据保证,1582≤n≤2020 且年份为自然数。

输入一个年份,判断这一年是否是闰年,如果是输出 1,否则输出 0。

输入格式

输入一个正整数 n,表示年份。

分析:

  通过if条件判断语句进行判断

知识点:

 闰年:能被4整除且能被100整除,或则能被400整除的才是闰年。

代码如下:

import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner sc=new Scanner(System.in);int x=sc.nextInt();if((x%4==0&&x%100!=0)||x%400==0)System.out.println(1);elseSystem.out.println(0);}
}

🍑3.肥胖问题

题目描述

BMI 指数是国际上常用的衡量人体胖瘦程度的一个标准,其算法是 m/(n*n),其中 m 是指体重(千克),h 是指身高(米)。不同体型范围与判定结果如下:

  • 小于 18.518.5:体重过轻,输出 Underweight
  • 大于等于 18.5 且小于 24:正常体重,输出 Normal
  • 大于等于 24:肥胖,不仅要输出 BMI 值(使用 cout 的默认精度),然后换行,还要输出 Overweight

现在给出体重和身高数据,需要根据 BMI 指数判断体型状态并输出对应的判断。

对于非 C++ 语言,在输出时,请四舍五入保留六位有效数字输出,如果小数部分存在后缀 0,不要输出后缀 0。

请注意,保留六位有效数字不是保留六位小数。例如 123.4567 应该输出为 123.457,5432.10 应该输出为 5432.15432.1。

输入格式

共一行。

第一行,共 2个浮点数m,h,分别表示体重(单位为 kg),身高(单位为 m)。

输出格式

输出一行一个字符串,表示根据 BMI 的对应判断。特别地,对于 Overweight 情况的特别处理请参照题目所述。

输入输出样例

输入 #1

70 1.72

输出 #1

Normal

输入 #2

100 1.68

输出 #2

35.4308
Overweight

说明/提示

对于所有数据,40≤m≤120,1.4≤h≤2.0。m 和 h 的小数点后不超过三位。

分析: 

  通过if来进行对体重进行判断,进行合理的输出。

知识点:

保留小数位数,可以使用printf进行对字符串的格式化输出

printf里边的格式说明:

格式说明符

  • %d - 十进制整数
  • %f - 浮点数
  • %s - 字符串
  • %c - 字符
  • %b - 布尔值
  • %n - 平台特定的换行符
  • %% - 百分号字符

额外的修饰符:

  • + - 强制在数值前面显示正号或负号
  • - - 左对齐
  • 0 - 数字前面补0
  • 空格 - 显示正数时在前面显示空格
  • . - 指定小数点后的精度
  • m.n - m指定整个字段的最小宽度,n指定小数点后的位数

代码如下:

import javax.script.ScriptContext;
import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner sc=new Scanner(System.in);double m,h,weight;m=sc.nextDouble();h=sc.nextDouble();weight=m/Math.pow(h,2);if(weight<18.5){System.out.println("Underweight");} else if (weight>=18.5&&weight<24) {System.out.println("Normal");}else {
//            需要保留小数位数,输出不固定的小数位数System.out.printf("%.4f",weight);System.out.println();System.out.print("Overweight");}}
}

🌰4.三位数排序

题目描述

给出三个整数 a,b,c(0≤a,b,c≤100),要求把这三位整数从小到大排序。

输入格式

输入三个整数 a,b,c,以空格隔开。

输出格式

输出一行,三个整数,表示从小到大排序后的结果。

输入输出样例

输入 #1

1 14 5

输出 #1

1 5 14

输入 #2

2 2 2

输出 #2

2 2 2
分析:

  以上内容是对三位数字的排序问题,可以使用if来进行判断。也可以使用排序算法来进行排序,下列我们是使用系统自带的排序函数:Arrays类中的sort()来实现的,sort()采用的是桶排序。后序会对排序进行重点回顾。

知识点:

Arrays类中的sort()可以实现对数组的升序排序

代码如下:

import java.util.Arrays;
import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner sc=new Scanner(System.in);int arr[]=new int[3];for (int i = 0; i < arr.length; i++) {arr[i]= sc.nextInt();}Arrays.sort(arr);for (int i = 0; i < arr.length; i++) {System.out.print(arr[i]+" ");}}
}

🍓5.买铅笔

题目描述

P 老师需要去商店买 n 支铅笔作为小朋友们参加 NOIP 的礼物。她发现商店一共有 3种包装的铅笔,不同包装内的铅笔数量有可能不同,价格也有可能不同。为了公平起 见,P 老师决定只买同一种包装的铅笔。

商店不允许将铅笔的包装拆开,因此 P 老师可能需要购买超过 n 支铅笔才够给小朋友们发礼物。

现在 P 老师想知道,在商店每种包装的数量都足够的情况下,要买够至少 n 支铅笔最少需要花费多少钱。

输入格式

第一行包含一个正整数 n,表示需要的铅笔数量。

接下来三行,每行用 2 个正整数描述一种包装的铅笔:其中第 1 个整数表示这种包装内铅笔的数量,第 2 个整数表示这种包装的价格。

保证所有的 7 个数都是不超过 10000 的正整数。

输出格式

1 个整数,表示 P 老师最少需要花费的钱。

输入输出样例

输入 #1复制

57
2 2
50 30
30 27

输出 #1

54

输入 #2

9998
128 233
128 2333
128 666

输出 #2

18407

输入 #3

9999
101 1111
1 9999
1111 9999

输出 #3

89991

说明/提示

铅笔的三种包装分别是:

  • 22 支装,价格为 22;
  • 5050 支装,价格为 3030;
  • 3030 支装,价格为 2727。

P 老师需要购买至少 5757 支铅笔。

如果她选择购买第一种包装,那么她需要购买 29份,共计 2×29=58 支,需要花费的钱为 2×29=58。

实际上,P 老师会选择购买第三种包装,这样需要买 22 份。虽然最后买到的铅笔数量更多了,为 30×2=60 支,但花费却减少为 27×2=54,比第一种少。

对于第二种包装,虽然每支铅笔的价格是最低的,但要够发必须买 2 份,实际的花费达到了 30×2=60,因此 P 老师也不会选择。

所以最后输出的答案是 54。

数据范围

保证所有的 7 个数都是不超过 10000 的正整数。

分析:

    采用二维数组来对三组数据进行保存,设置初始值result设置为Integer类中的最大值,当每次的money小于result,则result就等于当前的money。判断n只铅笔能不能被每套铅笔进行整除,能整除则说明可以买到正好的铅笔个数,如果不能整除则说明必须多买一套铅笔,才能保证够分。

知识点:

Integer类的最大值Integer.MAX_VALUE和Integer类的最小值为Integer.MIN_VALUE

代码如下:

import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner sc=new Scanner(System.in);int n,result=Integer.MAX_VALUE;n=sc.nextInt();int arr[][]=new int[3][2];for (int i = 0; i < 3; i++) {for (int j = 0; j < 2; j++) {arr[i][j]=sc.nextInt();}}for (int i = 0; i < 3; i++) {int money=0;int x=n/arr[i][0];money=arr[i][1]*x;if(n%arr[i][0]!=0)money+=arr[i][1];if(money<result)result=money;}System.out.println(result);}
}

总结

本次复盘篇需要掌握如下内容:

1.if条件语句的使用。

2.Arrays类sort()函数的使用

3.如何保留小数位数

4.相关表达式的使用

相关文章:

【蓝桥杯日记】复盘篇二:分支结构

前言 本篇笔记主要进行复盘的内容是分支结构&#xff0c;通过学习分支结构从而更好巩固之前所学的内容。 目录 前言 目录 &#x1f34a;1.数的性质 分析&#xff1a; 知识点&#xff1a; &#x1f345;2.闰年判断 说明/提示 分析&#xff1a; 知识点&#xff1a; &am…...

Vulnhub靶机:hackme1

一、介绍 运行环境&#xff1a;Virtualbox(攻击机)和VMware(靶机) 攻击机&#xff1a;kali&#xff08;192.168.56.106&#xff09; 靶机&#xff1a;hackme1&#xff08;192.168.56.107&#xff09; 目标&#xff1a;获取靶机root权限和flag 靶机下载地址&#xff1a;htt…...

【C/C++ 06】基数排序

基数排序是桶排序的一种&#xff0c;算法思路为&#xff1a; 利用队列进行数据收发创建一个队列数组&#xff0c;数组大小为10&#xff0c;每个元素都是一个队列&#xff0c;存储取模为1~9的数从低位到高位进行数据收发&#xff0c;完成排序适用于数据位不高的情况&#xff08…...

Flume1.9基础学习

文章目录 一、Flume 入门概述1、概述2、Flume 基础架构2.1 Agent2.2 Source2.3 Sink2.4 Channel2.5 Event 3、Flume 安装部署3.1 安装地址3.2 安装部署 二、Flume 入门案例1、监控端口数据官方案例1.1 概述1.2 实现步骤 2、实时监控单个追加文件2.1 概述2.2 实现步骤 3、实时监…...

ThinkPHP6的助手函数汇总

原文地址 abort(): 抛出 HTTP 异常 1. /** 2. * 抛出 HTTP 异常 3. * param integer|Response $code 状态码 或者 Response 对象实例 4. * param string $message 错误信息 5. * param array $header 参数 6. */ 7. abort($code, string…...

·备忘录模式

备忘录模式 备忘录模式 备忘录模式 介绍&#xff1a;在不破坏封装的前提下&#xff0c;捕获一个对象的内部状态&#xff0c;并在该对象之外保存这个状态&#xff0c;这样可以在以后将对象恢复到原先的状态。 实现&#xff1a;备忘录类&#xff0c;有一个私有状态属性&#xf…...

docker-学习-2

docker学习第二天 docker学习第二天1.docker和虚拟机的区别2.docker的底层隔离机制2.1 Namespaces(命名空间)2.1.1 什么是命名空间 2.2 Cgroups2.3 Union file systems2.4 Container format2.5 docker在底层如何做隔离的&#xff0c;如何进行资源限制的&#xff1f; 3. docker命…...

树--二叉树(C语言纯手凹)

目录 目录 1.什么是树&#xff1f;&#xff08;不深入&#xff0c;仅做了解&#xff09; 2.树的表示方式 2.1孩子兄弟表示法&#xff08;左孩子右兄弟&#xff09; 2.2孩子表示法 2.3双亲表示法 3.什么是二叉树 4.二叉树分类 4.1满二叉树 4.2完全二叉树 4.3二叉搜索树…...

TypeScript(七) 函数

1. TypeScript 函数 1.1. 函数的定义 函数就是包裹在花括号中的代码块&#xff0c;前面使用关键字function。 语法&#xff1a; // An highlighted block function function_name() {// 执行代码 }实例&#xff1a; function test() { // 函数定义console.log("我就是…...

学fpga和还是嵌入式?

具体要选哪个&#xff0c;更多还是看个人喜好还有基础知识结构。 我们先来明白下两者区别在哪&#xff1f; 1、嵌入式&#xff1a;分两部分&#xff0c;第一是嵌入式软件开发&#xff0c;主要与嵌入式操作系统、应用软件等有关。第二是嵌入式硬件开发&#xff0c;需要掌握硬件…...

Day01-变量和数据类型课后练习-参考答案

文章目录 1、输出你最想说的一句话&#xff01;2、定义所有基本数据类型的变量和字符串变量3、用合适类型的变量存储个人信息并输出4、定义圆周率PI5、简答题 1、输出你最想说的一句话&#xff01; 编写步骤&#xff1a; 定义类 Homework1&#xff0c;例如&#xff1a;Homewo…...

Docker 数据管理、容器互联、网络与资源控制

一、docker数据管理 管理 Docker 容器中数据主要有两种方式&#xff1a;数据卷(Data volumes)和数据卷容器(Datavolumes containers)。 1、数据卷 数据卷是一个供容器使用的特殊目录&#xff0c;位于容器中。可将宿主机的目录挂载到数据卷上&#xff0c;对数据卷的修改操作立…...

密码加密——MD5与BCryptPasswordEncoder

目录 一、问题 二、密码加密 1、MD5密码加密 2、BCryptPasswordEncoder加密&#xff08;推荐&#xff09; 2.1 特点 2.2 使用步骤 一、问题 在数据库表中的密码都是明文存储的&#xff0c;安全性太低 需求&#xff1a; 将密码加密后存储&#xff0c;提高安全性 二、密码加密…...

利用外卖系统源码构建高效的在线订餐平台

在当今数字化时代&#xff0c;外卖服务已成为人们日常生活中不可或缺的一部分。为了满足用户需求&#xff0c;许多创业者和企业都希望搭建自己的在线订餐平台。利用现有的外卖系统源码&#xff0c;可以快速构建一个高效、安全的在线订餐平台。本文将介绍如何利用外卖系统源码来…...

数据分析数据 -(用数据讲故事)

书中有一句话我很喜欢- 献给大家 一个完美的设计&#xff0c;不是因为它没有多余的东西可以添加&#xff0c;而是它没有多余的部分可以删减 首先看几个对比的图形分析 处理工单和新增工单的随月份的变化趋势 这个图形的缺点就是 1: 月份对齐的情况 2&#xff1a;使用条形图需…...

如何运用5W2H分析法分析自己适合哪种办公室

随着时代的发展&#xff0c;办公室已经不再是传统的四壁之内&#xff0c;而是多种多样的形态&#xff0c;涵盖了开放式办公区、远程办公、共享办公空间等多种选择。对于刚刚创业的企业来说&#xff0c;选择一个适合自己发展的办公室至关重要。在这个过程中&#xff0c;运用5W2H…...

为什么考虑电子采购而非传统采购?

采购是重要的业务职能之一&#xff0c;为实现无缝运营而大规模采购商品或服务的行为。考虑到数字化转型带来的影响&#xff0c;决策者对于应维持传统采购还是转向电子采购或多或少会有困惑。 通过本文&#xff0c;你将更了解电子采购和传统采购&#xff0c;从而为业务连续性采…...

【git】git update-index --assume-unchanged(不改动.gitignore实现忽略文件)

文章目录 原因分析&#xff1a;添加忽略文件(取消跟踪)的命令&#xff1a;取消忽略文件(恢复跟踪)的命令&#xff1a;查看已经添加了忽略文件(取消跟踪)的命令&#xff1a; 原因分析&#xff1a; 已经维护的项目&#xff0c;文件已经被追踪&#xff0c;gitignore文件不方便修…...

科普类——无压缩图像传输带宽的计算(七)

无压缩图像传输带宽的计算 问题计算 问题 要计算1080p&#xff08;1920x1080&#xff09;分辨率的彩色图像在30帧每秒&#xff08;fps&#xff09;下的带宽需求&#xff0c;我们需要考虑图像的颜色深度&#xff08;位深&#xff09;和压缩情况。假设我们使用的是无压缩的RGB图…...

云原生周刊:K8s 1.26 到 1.29 版本的更新 | 2024.1.29

开源项目推荐 Skaffold Skaffold 是一个命令行工具&#xff0c;有助于 Kubernetes 应用程序的持续开发。您可以在本地迭代应用程序源代码&#xff0c;然后部署到本地或远程 Kubernetes 集群。Skaffold 处理构建、推送和部署应用程序的工作流程。它还提供构建块并描述 CI/CD 流…...

Vue记事本应用实现教程

文章目录 1. 项目介绍2. 开发环境准备3. 设计应用界面4. 创建Vue实例和数据模型5. 实现记事本功能5.1 添加新记事项5.2 删除记事项5.3 清空所有记事 6. 添加样式7. 功能扩展&#xff1a;显示创建时间8. 功能扩展&#xff1a;记事项搜索9. 完整代码10. Vue知识点解析10.1 数据绑…...

从深圳崛起的“机器之眼”:赴港乐动机器人的万亿赛道赶考路

进入2025年以来&#xff0c;尽管围绕人形机器人、具身智能等机器人赛道的质疑声不断&#xff0c;但全球市场热度依然高涨&#xff0c;入局者持续增加。 以国内市场为例&#xff0c;天眼查专业版数据显示&#xff0c;截至5月底&#xff0c;我国现存在业、存续状态的机器人相关企…...

pam_env.so模块配置解析

在PAM&#xff08;Pluggable Authentication Modules&#xff09;配置中&#xff0c; /etc/pam.d/su 文件相关配置含义如下&#xff1a; 配置解析 auth required pam_env.so1. 字段分解 字段值说明模块类型auth认证类模块&#xff0c;负责验证用户身份&am…...

涂鸦T5AI手搓语音、emoji、otto机器人从入门到实战

“&#x1f916;手搓TuyaAI语音指令 &#x1f60d;秒变表情包大师&#xff0c;让萌系Otto机器人&#x1f525;玩出智能新花样&#xff01;开整&#xff01;” &#x1f916; Otto机器人 → 直接点明主体 手搓TuyaAI语音 → 强调 自主编程/自定义 语音控制&#xff08;TuyaAI…...

Mysql中select查询语句的执行过程

目录 1、介绍 1.1、组件介绍 1.2、Sql执行顺序 2、执行流程 2.1. 连接与认证 2.2. 查询缓存 2.3. 语法解析&#xff08;Parser&#xff09; 2.4、执行sql 1. 预处理&#xff08;Preprocessor&#xff09; 2. 查询优化器&#xff08;Optimizer&#xff09; 3. 执行器…...

宇树科技,改名了!

提到国内具身智能和机器人领域的代表企业&#xff0c;那宇树科技&#xff08;Unitree&#xff09;必须名列其榜。 最近&#xff0c;宇树科技的一项新变动消息在业界引发了不少关注和讨论&#xff0c;即&#xff1a; 宇树向其合作伙伴发布了一封公司名称变更函称&#xff0c;因…...

tomcat入门

1 tomcat 是什么 apache开发的web服务器可以为java web程序提供运行环境tomcat是一款高效&#xff0c;稳定&#xff0c;易于使用的web服务器tomcathttp服务器Servlet服务器 2 tomcat 目录介绍 -bin #存放tomcat的脚本 -conf #存放tomcat的配置文件 ---catalina.policy #to…...

Python 高效图像帧提取与视频编码:实战指南

Python 高效图像帧提取与视频编码:实战指南 在音视频处理领域,图像帧提取与视频编码是基础但极具挑战性的任务。Python 结合强大的第三方库(如 OpenCV、FFmpeg、PyAV),可以高效处理视频流,实现快速帧提取、压缩编码等关键功能。本文将深入介绍如何优化这些流程,提高处理…...

算法打卡第18天

从中序与后序遍历序列构造二叉树 (力扣106题) 给定两个整数数组 inorder 和 postorder &#xff0c;其中 inorder 是二叉树的中序遍历&#xff0c; postorder 是同一棵树的后序遍历&#xff0c;请你构造并返回这颗 二叉树 。 示例 1: 输入&#xff1a;inorder [9,3,15,20,7…...

工厂方法模式和抽象工厂方法模式的battle

1.案例直接上手 在这个案例里面&#xff0c;我们会实现这个普通的工厂方法&#xff0c;并且对比这个普通工厂方法和我们直接创建对象的差别在哪里&#xff0c;为什么需要一个工厂&#xff1a; 下面的这个是我们的这个案例里面涉及到的接口和对应的实现类&#xff1a; 两个发…...