蓝桥杯刷题——day7

server/2024/12/21 13:46:25/

蓝桥杯刷题——day7

  • 题目一
    • 题干
    • 题目解析
    • 代码
  • 题目二
    • 题干
    • 题目解析
    • 代码

题目一

题干

输入一个整数P,输出P进制下的乘法表。P进制中大于等于 10 的数字用大写字母A、B、C等表示。
示例一:

输入:
4
输出:
1×1=1
2×1=2 2×2=10
3×1=3 3×2=12 3×3=21

示例二:

输入:
8
输出:
1×1=1
2×1=2 2×2=4
3×1=3 3×2=6 3×3=11
4×1=4 4×2=10 4×3=14 4×4=20
5×1=5 5×2=12 5×3=17 5×4=24 5×5=31
6×1=6 6×2=14 6×3=22 6×4=30 6×5=36 6×6=44
7×1=7 7×2=16 7×3=25 7×4=34 7×5=43 7×6=52 7×7=61

题目链接:乘法表

题目解析

这条题目相对来说比较简单,我们在练习for语句循环的时候经常会拿打印乘法口诀表来练手,因此这里注重介绍一下进制转化的问题,例如:对于123456这个数我们如何能一个数一个数的拿出来呢?我们是不是先对123456进行10取余,拿出来6,然后用123456÷10得到12345,然后再用12345对10取余,然后拿出来5,以此类推,进制转化也是这样的,只是把这里的10换成了你想进制转换的进制数而已,但是需要注意的是我们拿的过程中是6,5,4,3,2,1。因此我们可以用头插法的方法每拿到一个数字就把他放到最前面就可以了,当然在拿到每个数之后,要进行判断,是否大于10,如果大于10,就需要把10以后的部分转化为对应的大写字母,下面是完整代码:

代码

import java.util.Scanner;
public class Main {// 将数字转换成P进制字符串表示private static String toBaseP(int number, int base) {if (number == 0) {return "0";}StringBuilder result = new StringBuilder();while (number > 0) {int remainder = number % base;char digit = (char) (remainder < 10 ? '0' + remainder : 'A' + (remainder - 10));result.insert(0, digit);number /= base;}return result.toString();}public static void main(String[] args) {Scanner scanner = new Scanner(System.in);int P = scanner.nextInt();printMultiplicationTable(P);}// 输出P进制的乘法表private static void printMultiplicationTable(int P) {for (int i = 1; i < P; i++) {  // 遍历行数for (int j = 1; j <= i; j++) {  // 每行逐渐增加的内容String result = toBaseP(i * j, P);  // 计算结果并转换为P进制System.out.print(toBaseP(i, P) + "*" + toBaseP(j, P) + "=" + result + " ");}System.out.println();}}
}

题目二

题干

小明决定从下周一开始努力刷题准备蓝桥杯竞赛。他计划周一至周五每天做a 道题目,周六和周日每天做b 道题目。请你帮小明计算,按照计划他将在第几天实现做题数大于等于n 题?
输入: 一行包含三个整数a,b,c。
输出: 一个整数代表天数。

输入:
10 20 99
输出:
8

题目链接: 刷题统计

题目解析

这条题目也相对比较简单,我们可以创建一个数组用于记录一周之内累计的做题个数,那么最后一个数组元素表示的就是一周的做题数,我们记为sum,用n/sum就可以得到需要刷题刷几个星期,n%sum就可以得到不足一周做题数的剩余题数,那么直接跟累计做题数进行比较就可以得到在最后一周的哪一天完成了。下面是完整代码:

代码

import java.util.*;
public class Main {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);long a = scanner.nextLong();long b = scanner.nextLong();long n = scanner.nextLong();int i = 0;long[] arr = new long[7];arr[0] = a;for (i = 1; i < 5; i++) {arr[i] = arr[i - 1] + a;}arr[5] = arr[4] + b;arr[6] = arr[5] + b;long sum = arr[6];long times = n / sum;long time = n % sum;for (i = 0; i < arr.length; i++) {if (time <= arr[i]) {break;}}System.out.print(times * 7 + i + 1);}
}

今天的题目都不算太难,如果有什么疑问,欢迎各位私信+评论,谢谢各位点赞和收藏。


http://www.ppmy.cn/server/151952.html

相关文章

字节跳动Java开发面试题及参考答案(综合篇)

HTTP 与 HTTPS 的区别? HTTP(超文本传输协议)和 HTTPS(超文本传输安全协议)主要有以下区别。 从安全性角度看,HTTP 是明文传输协议,数据在网络中传输时是以原始文本的形式发送的。这就好比在信件传递过程中没有进行密封,任何中间节点(如路由器、代理服务器等)都可以查…

Spark-Streaming性能调优

一、概览 从集群上的Spark Streaming应用程序中获得最佳性能需要一些调整。一般会考虑2个因素&#xff1a; 通过高效利用集群资源&#xff0c;减少每批数据的流转时长设置正确的批量大小&#xff0c;以便批量数据可以在接收到时尽快处理&#xff08;即数据处理跟上数据摄取&a…

基于ceres优化的3d激光雷达开源算法

以下是一些基于CERES优化的开源激光雷达SLAM或相关算法&#xff1a; (1) LOAM (Lidar Odometry And Mapping) 简介: LOAM是一种经典的激光雷达里程计和建图算法&#xff0c;它通过提取特征点&#xff08;角点和平面点&#xff09;&#xff0c;利用ICP&#xff08;Iterative Cl…

深入解析谷歌对沉浸式技术术语的统一:XR、MR、AR、VR与智能眼镜

随着科技的飞速发展,虚拟现实(VR)、增强现实(AR)、混合现实(MR)以及智能眼镜等沉浸式技术逐渐成为科技领域的热点。然而,这些技术的命名和分类一直缺乏一个行业标准,导致市场和开发者之间存在理解上的混乱。为了应对这一问题,Google正式采用了“XR”(Extended Reali…

【自动化部署】Ansible循环

文章目录 Ansible循环1. with_items2. with_list3. with_flattened4. with_together5. with_cartesian 和 with_nested Ansible 配置模板与效率优化一、配置模板1. 准备配置模板文件2. 修改 inventory 主机清单配置文件3. 编写 playbook 二、Ansible 执行效率优化1. 加大 forks…

三格电子——新品IE103转ModbusTCP网关

型号&#xff1a;SG-TCP-IEC103 产品概述 IE103转ModbusTCP网关型号SG-TCP-IEC103&#xff0c;是三格电子推出的工业级网关&#xff08;以下简称网关&#xff09;&#xff0c;主要用于IEC103数据采集、DLT645-1997/2007数据采集&#xff0c;IEC103支持遥测和遥信&#xff0c;可…

常用消息中间件介绍

在消息中间件这个领域&#xff0c;确实有不少专业且强大的选择&#xff0c;它们各自都有着独特的优势和适用场景。 1. Apache Kafka&#xff1a; • Kafka以其高吞吐量、低延迟和分布式架构著称&#xff0c;非常适合处理大数据量、实时性要求高的场景。 • 它支持发布/订阅模式…

学习go中的Resty, 比标准库net/http更加方便友好

Resty 是 Go 语言中一个轻量级、简洁易用的 HTTP 客户端库。它的目标是提供一个简洁且易于使用的 API&#xff0c;以便进行常见的 HTTP 请求&#xff08;如 GET、POST、PUT、DELETE 等&#xff09;。如果你在 Go 项目中需要进行 HTTP 请求&#xff0c;可以考虑使用 Resty&#…