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

第十四届蓝桥杯大赛软件赛国赛Java大学C组(部分)

跑步计划

问题描述

小蓝计划在某天的日期中出现 1 时跑 5 千米,否则只跑 1 千米。注意日期中出现 1 不仅指年月日也指星期。

请问按照小蓝的计划,2023 年小蓝总共会跑步锻炼多少千米?例如,5 月 1 日、1 月 13 日、11 月 5 日、4 月 3 日 (星期一) 小蓝会跑 5 千米,而 5 月 23 日小蓝会跑 1 千米 (示例日期均为 2023 年)

答案提交

这是一道结果填空的题,你只需要算出结果后提交即可。本题的结果为一个整数,在提交答案时只填写这个整数,填写多余的内容将无法得分。

运行限制

语言最大运行时间最大运行内存
C++1s256M
C1s256M
Java2s256M
Python33s256M
PyPy33s256M
Go3s256M
JavaScript3s256M

代码思路

import java.time.DayOfWeek;
import java.time.LocalDate;public class Main {public static void main(String[] args) {// 通过年、月、日创建日期对象.LocalDate localDate1 = LocalDate.of(2023, 1, 1);LocalDate localDate2 = LocalDate.of(2024, 1, 1);int ans = 0;// 检查localDate1是否与localDate2相同。while (!localDate1.isEqual(localDate2)) {String string = localDate1.toString();// 获取星期几(DayOfWeek 枚举类型).DayOfWeek dayOfWeek = localDate1.getDayOfWeek();if (string.contains("1") || dayOfWeek == DayOfWeek.MONDAY) {ans += 5;} else {ans++;}// 增加指定天数.localDate1 = localDate1.plusDays(1);}System.out.println(ans);}
}
//format(DateTimeFormatter formatter) 将日期格式化为字符串
//将日期格式化为字符串 DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy/MM/dd");
//String formattedDate = date.format(formatter); // "2023/10/25"

混乘数字

问题描述

混乘数字的定义如下: 对于一个正整数 n,如果存在正整数 a,b,使得 n=a×b,而且 a 和 b 的十进制数位中每个数字出现的次数之和与 n 中对应数字出现次数相同,则称 n 为混乘数字。

例如,对于正整数 n=126,存在 a=6, b=21 满足条件,因此 126 是一个混乘数字。

又如,对于正整数 n=180225,存在 a=225, b=801 满足条件,因此 180225 是一个混乘数字。

请你帮助计算出,1∼1000000 (含)之间一共有多少个数字是混乘数字。

答案提交

这是一道结果填空的题,你只需要算出结果后提交即可。本题的结果为一个整数,在提交答案时只填写这个整数,填写多余的内容将无法得分。

运行限制

语言最大运行时间最大运行内存
C++1s256M
C1s256M
Java2s256M
Python35s256M
PyPy35s256M
Go5s256M
JavaScript5s256M

代码思路

public class Main {public static void main(String[] args) {int ans = 0;for (int i = 1; i <= 1000000; i++) {for (int j = 1; j * j <= i; j++) {if (i % j == 0 && check(i / j, j, i)) {ans++;break;}}}System.out.println(ans);}// check函数是判断a和b的十进制数位中每个数字出现的次数之和与n中对应数字出现次数是否相同static boolean check(int a, int b, int n) {int num[] = new int[10];while (a != 0) {num[a % 10]++;a /= 10;}while (b != 0) {num[b % 10]++;b /= 10;}while (n != 0) {num[n % 10]--;n /= 10;}for (int i : num) {if (i != 0) {return false;}}return true;}
}

整数变换

问题描述

小蓝有一个整数 n。每分钟,小蓝的数都会发生变化,变为上一分钟的数减去上一分钟的数的各个数位和。

例如,如果小蓝开始时的数为 23,则下一分钟变为 23−(2+3)=18,再下一分钟变为 18−(1+8)=9,再下一分钟变为 9−9=0,共经过了 3 分钟变为 0。

给定一个正整数,请问这个数多少分钟后变为 0。

输入格式

输入一行包含一个整数 n。

输出格式

输出一个整数,表示答案。

样例输入

23

样例输出

3

评测用例规模与约定

对于 30% 的评测用例,1≤n≤1000;

对于 60% 的评测用例,1≤n≤10^6;

对于所有评测用例,1≤n≤10^9。

运行限制

语言最大运行时间最大运行内存
C++1s256M
C1s256M
Java2s256M
Python33s256M
PyPy33s256M
Go3s256M
JavaScript3s256M

代码思路

import java.util.Scanner;public class Main3 {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);int n = scanner.nextInt();int t = 0;while (n != 0) {t++;n -= getsum(n);}System.out.println(t);}static int getsum(int n) {int sum = 0;while (n != 0) {sum += n % 10;n /= 10;}return sum;}
}

定时任务

问题描述

Cron 表达式在定时任务中经常被使用,在这里我们用了一种简化后的版本 SimpleCron 表达式:SimpleCron 表达式是一个具有时间含义的字符串,字符串以 4 个空格隔开,分为 5 个域,格式为 XXXXX,其中 X 是一个域的占位符。5 个域从左至右依次为秒 (0−59)、分钟 (0−59)、小时 (0−23)、日期 (1−31)、月份 (1−12),其中括号内为他们各自的取值范围。同时域内取值也可以使用一些特殊字符(每个域内只能使用一种特殊字符):

  1. 特殊字符 ∗ (ASCII 码为 42)表示所有可能的值。例如:在分钟域内表示每一分钟;在日期域内表示月内的每一天。
  2. 特殊字符 , (ASCII 码为 44)表示列出枚举值。例如:在秒域内,3,20 表示分别在 3 秒和 20 秒执行一次任务。
  3. 特殊字符 − (ASCII 码为 45)表示范围,可以视为连续的若干个枚举值。例如:1−5 等价于 1,2,3,4,5。

例如,421,3,151−31∗表示的含义是每个月份中的每一天中的 01:02:04、03:02:04、15:02:04 这三个时刻各执行一次,在 2023 年一共会执行 1095 次。

现在给出你一个合法的 SimpleCron 表达式,其中用到的所有数字均没有前导零。请问在 2023 一整年当中,使用了这个表达式的定时任务总计会执行多少次?

输入格式

输入一行,包含一个 SimpleCron 字符串。

输出格式

输出一行,包含一个整数表示答案。

样例输入

4 2 1,3,15 1-31 *

样例输出

1095

评测用例规模与约定

对于所有评测用例,0≤ 秒域的取值 ≤59,0≤ 分钟域的取值 ≤59,0≤ 小时域的取值 ≤23,1≤ 日期域的取值 ≤31,1≤ 月份域的取值 ≤12。

运行限制

语言最大运行时间最大运行内存
C++1s256M
C1s256M
Java2s256M
Python33s256M
PyPy33s256M
Go3s256M
JavaScript3s256M

 代码思路

import java.time.LocalDate;
import java.util.ArrayList;
import java.util.Scanner;public class Main4 {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);String array[] = scanner.nextLine().split(" ");ArrayList<Integer> list[] = new ArrayList[5];int num[] = { 60, 60, 24, 32, 13 };int ans = 0;for (int i = 0; i < array.length; i++) {list[i] = new ArrayList<Integer>();if (array[i].contains("*")) {for (int j = i < 3 ? 0 : 1; j < num[i]; j++) {list[i].add(j);}} else if (array[i].contains(",")) {String array2[] = array[i].split(",");for (int j = 0; j < array2.length; j++) {list[i].add(Integer.parseInt(array2[j]));}} else if (array[i].contains("-")) {String array2[] = array[i].split("-");int temp1 = Integer.parseInt(array2[0]);int temp2 = Integer.parseInt(array2[1]);for (int j = temp1; j <= temp2; j++) {list[i].add(j);}} else {list[i].add(Integer.parseInt(array[i]));}}for (int i : list[4]) {for (int j : list[3]) {try {LocalDate localDate = LocalDate.of(2023, i, j);ans++;} catch (Exception e) {// TODO: handle exception}}}ans *= list[0].size() * list[1].size() * list[2].size();System.out.println(ans);}
}

http://www.dtcms.com/a/525760.html

相关文章:

  • 2025年--Lc211- 557. 反转字符串中的单词 III--Java版
  • 网站建设售后服务承诺网站做多久才有流量
  • 网站外包制作工程建设报道
  • 【u-boot】u-boot启动文件start.S剖析(ARM64)
  • 【JUnit实战3_11】第六章:关于测试的质量(下)
  • 最新选题-基于Spark的二氧化碳排放量数据分析系统设计
  • 438.找到字符串中所有字母异位词
  • 鞍山手机网站设计广东省室内设计公司排名
  • 适合seo优化的网站制作网站鼠标特效
  • 【无标题】叽叽喳喳
  • 多线程六脉神剑第四剑:读写锁 (ReaderWriterLockSlim)
  • 网站设关键字wordpress搭建问答系统
  • 泉州高端网站建设微信h5免费制作网站模板下载
  • 第13章-人员管理
  • Maya Python入门:属性连接connectAttr()、创建节点createNode()
  • Java学习之旅第三季-17:Lambda表达式
  • 企业电子商务网站建设和一般建设网站收费标准
  • 【深度学习】深度学习核心:优化与正则化超详细笔记
  • 南昌做网站哪个好如何做好网站推广工作
  • 网站网速慢网站正在建设中_敬请期待
  • 影刀:自动化测试网页应用
  • 做彩票网站要什么接口只放一个图片做网站
  • git重写历史
  • 免费下载app软件网站寻找网站建设公司
  • 动易手机网站外贸商城源码
  • 简述网站建设流程中的各个步骤wordpress破解主题商务
  • 2025年--Lc213-2000. 反转单词前缀-Java版
  • safari针对带有loading=lazy属性img的无奈
  • 需求上线部署流程
  • wap网站生成微信小程序网页微信版官网登录仅传输文件