【蓝桥杯日记】复盘篇二:分支结构
前言
本篇笔记主要进行复盘的内容是分支结构,通过学习分支结构从而更好巩固之前所学的内容。
目录
前言
目录
🍊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.相关表达式的使用
相关文章:

【蓝桥杯日记】复盘篇二:分支结构
前言 本篇笔记主要进行复盘的内容是分支结构,通过学习分支结构从而更好巩固之前所学的内容。 目录 前言 目录 🍊1.数的性质 分析: 知识点: 🍅2.闰年判断 说明/提示 分析: 知识点: &am…...

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

【C/C++ 06】基数排序
基数排序是桶排序的一种,算法思路为: 利用队列进行数据收发创建一个队列数组,数组大小为10,每个元素都是一个队列,存储取模为1~9的数从低位到高位进行数据收发,完成排序适用于数据位不高的情况(…...

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…...

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

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在底层如何做隔离的,如何进行资源限制的? 3. docker命…...

树--二叉树(C语言纯手凹)
目录 目录 1.什么是树?(不深入,仅做了解) 2.树的表示方式 2.1孩子兄弟表示法(左孩子右兄弟) 2.2孩子表示法 2.3双亲表示法 3.什么是二叉树 4.二叉树分类 4.1满二叉树 4.2完全二叉树 4.3二叉搜索树…...

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

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

Day01-变量和数据类型课后练习-参考答案
文章目录 1、输出你最想说的一句话!2、定义所有基本数据类型的变量和字符串变量3、用合适类型的变量存储个人信息并输出4、定义圆周率PI5、简答题 1、输出你最想说的一句话! 编写步骤: 定义类 Homework1,例如:Homewo…...

Docker 数据管理、容器互联、网络与资源控制
一、docker数据管理 管理 Docker 容器中数据主要有两种方式:数据卷(Data volumes)和数据卷容器(Datavolumes containers)。 1、数据卷 数据卷是一个供容器使用的特殊目录,位于容器中。可将宿主机的目录挂载到数据卷上,对数据卷的修改操作立…...

密码加密——MD5与BCryptPasswordEncoder
目录 一、问题 二、密码加密 1、MD5密码加密 2、BCryptPasswordEncoder加密(推荐) 2.1 特点 2.2 使用步骤 一、问题 在数据库表中的密码都是明文存储的,安全性太低 需求: 将密码加密后存储,提高安全性 二、密码加密…...

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

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

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

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

【git】git update-index --assume-unchanged(不改动.gitignore实现忽略文件)
文章目录 原因分析:添加忽略文件(取消跟踪)的命令:取消忽略文件(恢复跟踪)的命令:查看已经添加了忽略文件(取消跟踪)的命令: 原因分析: 已经维护的项目,文件已经被追踪,gitignore文件不方便修…...

科普类——无压缩图像传输带宽的计算(七)
无压缩图像传输带宽的计算 问题计算 问题 要计算1080p(1920x1080)分辨率的彩色图像在30帧每秒(fps)下的带宽需求,我们需要考虑图像的颜色深度(位深)和压缩情况。假设我们使用的是无压缩的RGB图…...

云原生周刊:K8s 1.26 到 1.29 版本的更新 | 2024.1.29
开源项目推荐 Skaffold Skaffold 是一个命令行工具,有助于 Kubernetes 应用程序的持续开发。您可以在本地迭代应用程序源代码,然后部署到本地或远程 Kubernetes 集群。Skaffold 处理构建、推送和部署应用程序的工作流程。它还提供构建块并描述 CI/CD 流…...

手机壳也能散热了?
作为一个玩了6年的王者荣耀玩家,手机发热真的很影响游戏体验!!游戏掉帧,性能下降很恼人,试过好几个散热工具,实际效果都不太好~ 自从入了Mate 60之后,看着这款微泵液冷壳毫无犹豫第…...

《微信小程序开发从入门到实战》学习九十七
7.3 表单组件 7.3.1 picke-view与picker-view-column组件 一个picker-view-column代表 一个滚动选择器子项,一个picker-view组件可以包含多个picker-view-column组件,这样可以一次性选择多项内容如年、月、日等。 picker-view-column组件中需包含多个…...

二极管漏电流对单片机ad采样偏差的影响
1,下图是常规的单片机采集电压电路,被测量电压经过电阻分压,给到mcu采集,反向二极管起到钳位作用,避免高压打坏mcu。 2,该电路存在的问题 二极管存在漏电流,会在100k电阻上产生叠加电压&#x…...

三、防御保护---防火墙安全策略篇
三、防御保护---防火墙安全策略篇 一、什么是安全策略二、安全策略的组成1.匹配条件2.动作3.策略标识 三、防火墙的状态检测和会话表1.会话表2.状态检测技术 四、ASPF--隐形通道五、用户认证1.用户认证的分类2.认证方式3.认证策略4.认证域 一、什么是安全策略 传统的包过滤防火…...

【学网攻】 第(15)节 -- 标准ACL访问控制列表
系列文章目录 目录 系列文章目录 文章目录 前言 一、ACL(访问控制列表)是什么? 二、实验 1.引入 实验拓扑图 实验配置 测试PC2能否Ping通PC3 配置ACL访问控制 实验验证 PC1 Ping PC3 总结 文章目录 【学网攻】 第(1)节 -- 认识网络【学网攻】 第(2)节 -- 交换机认…...

【图像分割】【深度学习】Windows10下UNet代码Pytorch实现与源码讲解
【图像分割】【深度学习】Windows10下UNet代码Pytorch实现与源码讲解 提示:最近开始在【医学图像分割】方面进行研究,记录相关知识点,分享学习中遇到的问题已经解决的方法。 文章目录 【图像分割】【深度学习】Windows10下UNet代码Pytorch实现与源码讲解前言UNet模型运行环境搭…...

MySQL十部曲之一:MySQL概述及手册说明
文章目录 数据库、数据库管理系统以及SQL之间的关系关系型数据库与非关系型数据库MySQL程序系统变量系统状态变量SQL模式MySQL数据目录手册语法约定 数据库、数据库管理系统以及SQL之间的关系 名称说明数据库(Database)即存储数据的仓库,其本…...

node.js基础--01
Author nodes:(题记) node.js is an open-source,cross-platform JAVAScript runtime environment。 node.js是一个开源,跨平台的js运行环境 common commands(常用指令) 1、C: enter hard …...

基于GPT3.5逆向 和 本地Bert-Vits2-2.3 的语音智能助手
文章目录 一、效果演示二、操作步骤三、架构解析 一、效果演示 各位读者你们好,我最近在研究一个语音助手的项目,是基于GPT3.5网页版的逆向和本地BertVits2-2.3 文字转语音,能实现的事情感觉还挺多,目前实现【无需翻墙࿰…...

java stream简介
(1)Stream Stream(流)是一个来自数据源的元素队列并支持聚合操作。 forEach方法用来迭代流中的每个数据,没有返回值。map方法用于映射每个元素到对应的结果,有返回值,返回的是一个新流…...