写该博客既是为了分享题目解法,也是对之前写的题复习,毕竟已经24年了,写22年的题解
233🤭
文章目录22年java_b组题目解析A.星期计算(填空题)B.山(填空题)C.字符统计(编程题)D.最小刷题数E.求阶乘 A.星期计算(填空题)【问题描述】
已知今天是星期六,请问 20 的22次方天后是星期几? 注意用数字 1 到 7 表示星期一到星期日
【答案提交】
这是一道结果填空的题,你只需要算出结果后提交即可。本题的结果为一个整数,在提交答案时只填写这个整数,填写多余的内容将无法得分。
【解题思路】
看题目,数字并不是非常大,20的22次方,直接使用大数就能放下,或者可以直接使用电脑自带的计算器计算(嘿嘿嘿,我当时就用自带计算器做的,并不会被点名~😁),相对于23年的第一题,并不需要太多思考的地方;
【题解】
public class Main {public static void main(String[] args) {BigInteger bigInteger=BigInteger.valueOf(20).pow(22).mod(BigInteger.valueOf(7));// 先定义大数为20的20次方取模7的值;int result=(6+bigInteger.intValue())%7; // 结果值为第一步的取模值+6再取7的模;System.out.println(result==0?7:result);//返回结果,若=0怎刚好整除,返回7,其余返回源值;}}方法2,使用计算器计算;
不再截图;
【结果】
7
B.山(填空题)【问题描述】
这天小明正在学数数。 他突然发现有些正整数的形状像一座“山”,比如 123565321 、 145541 ,它们左右对称(回文)且数位上的数字先单调不减,后单调不增。 小明数了很久也没有数完,他想让你告诉他在区间[2022,2022222022]中有多少个数的形状像一座“山”。
【答案提交】
这是一道结果填空的题,你只需要算出结果后提交即可。本题的结果为一个整数,在提交答案时只填写这个整数,填写多余的内容将无法得分
【解题思路】
看这道题暴力的时间复杂度还是挺高的,但由于是填空题,对于时间复杂度和空间复杂度并没有太大的要求,而且题目目标明确,仍可以暴力解决🤗。
提出一种实现办法:先判断范围内所有的回文数,再判断这些回文数前半部分是否非单调减就ok了
【题解】
public class 山 {public static void main(String[] args) {//2022到2022222022中有多少山;//可以分两步走,先判断所有的回文数,再判断回文数是否单调赠再减;int count=0; a:for (int i = 2022; i