第十一届蓝桥杯A组省赛试题 G: 回文日期(Java)

试题 G: 回文日期
时间限制: 1.0s 内存限制: 512.0MB 本题总分:20 分

【问题描述】
2020年春节期间,有一个特殊的日期引起了大家的注意:2020年2月2日。因为如果将这个日期按 yyyymmdd 的格式写成一个8位数是 20200202 ,恰好是一个回文数。我们称这样的日期是回文日期。

有人表示 20200202 是“千年一遇”的特殊日子。对此小明很不认同,因为不到2年之后就是下一个回文日期:20211202 即2021年12月2日。

也有人表示 20200202 并不仅仅是一个回文日期,还是一个 ABABBABA 型的回文日期。对此小明也不认同,因为大约 100 年后就能遇到下一个 ABABBABA 型的回文日期:21211212 即2121年12月12日。算不上“千年一遇”,顶多算“千年两遇”。

给定一个8位数的日期,请你计算该日期之后下一个回文日期和下一个 ABABBABA 型的回文日期各是哪一天。

【输入格式】
输入包含一个八位整数 ,表示日期。

【输出格式】
输出两行,每行1个八位数。
第一行表示下一个回文日期,第二行表示下一个 型的回文日期。

【样例输入】
20200202

【样例输出】
20211202
21211212

【评测用例规模与约定】
对于所有评测用例,10000101<=N<=89991231, 保证 N 是一个合法日期的 8 位数表示。


【思路】
需要判断是否是闰年,是否是回文日期,是否是ABAB型回文日期,然后就是暴力。

【Java代码】

import java.util.Scanner;public class Main {//判断是否是闰年static boolean isLeap(int year) {if (year % 400 == 0 || (year % 4 == 0 && year % 100 != 0)) return true;return false;}//判断是否是回文日期static boolean isHui(String string) {if (string.charAt(0) == string.charAt(7) && string.charAt(1) == string.charAt(6) && string.charAt(2) == string.charAt(5) && string.charAt(3) == string.charAt(4)) return true;return false;}//判断是否是ABAB型回文日期static boolean isABAB(String string) {if (isHui(string) && string.charAt(0) == string.charAt(2) && string.charAt(1) == string.charAt(3)) return true;return false;}public static void main(String[] args) {Scanner scanner = new Scanner(System.in);int[] dayTotal = {0,31,28,30,31,30,31,30,31,30,31,30,31}; //每月多少天int input = scanner.nextInt();int year = input / 10000;int mouth = input % 10000 / 100;int day = input % 100 + 1; //加一是为了下面循环里面从下一天开始判断(即当天+1)if (isLeap(year)) {dayTotal[2] = 29; //闰年2月有29天}int res[] = new int[2]; //用来记录符合结果的两个回文日期boolean flag1 = false, flag2 = false; //用来标志是否找到需要的回文日期
label1:	for (int i = year; i <= 9999; i++, mouth = 1, day = 1) {for (int j = mouth; j <= 12; j++, day = 1) {for (int k = day; k <= dayTotal[j]; k++) {int string = i*10000 + j*100 + k;if (isHui(string + "") && flag1 == false) {flag1 = true;res[0] = string;}if (isABAB(string + "") && flag2 == false) {flag2 = true;res[1] = string;}if (flag1 == true && flag2 == true) {break label1; //两个都找到就可以结束了}}}}System.out.println(res[0]);System.out.println(res[1]);}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/347298.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

多种参数的BCH、RS码和(2,1,6)卷积码编码的MATLAB仿真实现

欢迎同步关注公众号【逆向通信猿】 关于BCH码、RS码和卷积码的原理,可以查阅相关书籍资料,在此不多作赘述,有疑问可在下方留言。 MATLAB代码如下 clear;close all;clc; N=500; bit=randi([0 1],1,N);%% BCH码 %<

自同步扰乱编码器的原理与MATLAB仿真

欢迎同步关注公众号【逆向通信猿】 扰乱编码原理 在实际的数字通信中,由于语言统计特性和采用的信息编码方案等原因,信源输出序列普遍具有0、1不平衡性,即信息序列中比特 0 和比特 1 出现的概率并不是各占1/2且可能出现连续的“0”或连续的“1”,这不仅破坏了系统设计的前…

第十一届蓝桥杯A组省赛试题 H: 子串分值(Java)

试题 H: 子串分值 时间限制: 1.0s 内存限制: 512.0MB 本题总分&#xff1a;20 分 【问题描述】 对于一个字符串 S&#xff0c;我们定义 S 的分值 f(S) 为 S 中恰好出现一次的字符个数。例如 f(“aba”)1&#xff0c;f(“abc”)3, f(“aaa”)0。 现在给定一个字符串 S[0…n-1]…

java即时编译器_Java即时编译:不仅仅是一个流行词

java即时编译器最近的Java生产性能问题迫使我重新审视并真正欣赏Java VM即时&#xff08;JIT&#xff09;编译器。 大多数Java开发人员和支持人员都听说过这种JVM运行时性能优化&#xff0c;但是有多少人真正理解并欣赏它的好处&#xff1f; 本文将与您分享在添加新的虚拟服务…

[精品]CSAPP Bomb Lab 解题报告(一)

接上篇堆栈图解CSAPP Bomb Lab实验解析 gdb常用指令 设置Intel代码格式:set disassembly-flavor intel 查看反汇编代码:disas phase_1 查看字符串:(gdb) x/s 0x402800 0x402800: "Gunston"实验简介 浏览 bomb.c 文件可知,Bomb Lab 总共有 6 个关卡(Phase)…

MATLAB2021下载安装图文教程

微信公众号&#xff1a;创享日记 发送关键词&#xff1a;matlab 免费获取下面教程中的 Matlab_ R2021a(64bit) 安装包 前些天发现了一个巨牛的人工智能学习电子书&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;无广告&#xff0c;忍不住分享一下给大家。&#xff08;点…

如何在飞书自建项目中接入ChatGPT打造智能问答助手并远程访问

文章目录 前言环境列表1.飞书设置2.克隆feishu-chatgpt项目3.配置config.yaml文件4.运行feishu-chatgpt项目5.安装cpolar内网穿透6.固定公网地址7.机器人权限配置8.创建版本9.创建测试企业10. 机器人测试 前言 在飞书中创建chatGPT机器人并且对话&#xff0c;在下面操作步骤中…

Java中没有递归的二进制搜索–迭代算法

本周的任务是用Java实现二进制搜索 &#xff0c;您需要编写迭代和递归二进制搜索算法 。 在计算机科学中&#xff0c;二进制搜索或半间隔搜索是一种分而治之的算法&#xff0c;用于定位项目在排序数组中的位置。 二进制搜索通过将输入值与数组的中间元素进行比较来工作。 比较确…

“5G通达,AI赋能“ AI在网络规划中的应用实践(人工智能应用案例)

网络规划 与图像、语音这种&#xff0c;和日常生活息息相关的AI应用不同&#xff0c;在移动通信网络中的应用AI&#xff0c;其专业性较强。因此&#xff0c;首先简单介绍一下什么是网络规划&#xff1f; 简单来说&#xff0c;网络规划就是以合适的建网成本&#xff0c;确定站…

[精品]CSAPP Bomb Lab 解题报告(二)

接上篇[精品]CSAPP Bomb Lab 解题报告(一) gdb常用指令 设置Intel代码格式:set disassembly-flavor intel 查看反汇编代码:disas phase_1 查看字符串:(gdb) x/s 0x402800 0x402800: "Gunston"2. Phase 2: loops 2.1 本关密码 1 2 4 8 16 322.2 解题过程 %…

第十三届蓝桥杯A组省赛填空程序真题集

文章目录试题 A: 裁纸刀(填空)试题 B: 寻找整数&#xff08;填空&#xff09;试题 C: 求和试题 D: GCD试题 E: 蜂巢试题 F: 全排列的价值试题 G: 青蛙过河试题 H: 因数平方和试题 I: 最优清零方案试题 J: 推导部分和试题 A: 裁纸刀(填空) 本题总分&#xff1a;5 分 【问题描述…

[精品]CSAPP Bomb Lab 解题报告(三)

接上篇[精品]CSAPP Bomb Lab 解题报告(二) gdb常用指令 设置Intel代码格式:set disassembly-flavor intel 查看反汇编代码:disas phase_1 查看字符串:(gdb) x/s 0x402800 0x402800: "Gunston"3. Phase 3: conditionals / switches 3.1 本关密码 0 207, 1 3…

spring框架mvc框架_Spring MVC测试框架入门–第2部分

spring框架mvc框架这个迷你系列的第一个博客介绍了Spring MVC测试框架&#xff0c;并演示了其在单元测试Spring MVC Controller类中作为控制器而不是POJO进行单元测试的用途。 现在是时候讨论使用框架进行集成测试了。 “集成测试”是指将Spring上下文加载到测试环境中&#x…

拉格朗日乘子法

拉格朗日乘子法 (Lagrange multipliers)是⼀种寻找多元函数在⼀组约束下的极值的⽅法。 通过引⼊拉格朗⽇乘⼦&#xff0c;可将有 d 个变量与 k 个约束条件的最优化问题转化为具有 d k 个变量的⽆约束优化问题求解。 本⽂希望通过⼀个直观简单的例⼦尽⼒解释拉格朗⽇乘⼦法和…

[精品]CSAPP Bomb Lab 解题报告(四)

接上篇[精品]CSAPP Bomb Lab 解题报告(三) gdb常用指令 设置Intel代码格式:set disassembly-flavor intel 查看反汇编代码:disas phase_1 查看字符串:(gdb) x/s 0x402800 0x402800: "Gunston"4. Phase 4: recursive calls and the stack discipline 4.1 本关…

使用Java Stream摘要统计

基本类型的流&#xff08; IntStream等&#xff09;提供了summaryStatistics( &#xff09;方法&#xff0c;该方法可用于获取流的多个统计属性&#xff08;最小值&#xff0c;平均值等&#xff09;。 假设我们有一个人的名单。 我们的目标是使用信息流获取列表中人员的最小和…

双闭环直流调速系统matlab/simulink仿真

前些天发现了十分不错的人工智能学习电子书&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;没有广告&#xff0c;分享给大家&#xff0c;大家可以自行看看。&#xff08;点击跳转人工智能学习资料&#xff09; 微信公众号&#xff1a;创享日记&#xff08;或csds992022&…

[精品]CSAPP Bomb Lab 解题报告(五)

接上篇[精品]CSAPP Bomb Lab 解题报告(四) gdb常用指令 设置Intel代码格式:set disassembly-flavor intel 查看反汇编代码:disas phase_1 查看字符串:(gdb) x/s 0x402800 0x402800: "Gunston"5. Phase 5: pointers 5.1 本关密码 9ON567(不唯一)5.2 解题过…

采样与保持仿真实验(计控实验一simulink)

一、实验目的与要求 1、了解数/模转换器的零阶保持器作用。 2、验证零阶保持器在控制系统中的作用。 3、验证采样周期对系统稳定性的影响。 4、学习控制系统计算机辅助设计软件MATLAB及其仿真环境SIMULINK的使用。 二、仿真软硬件环境 PC机&#xff0c;MATLAB R2012b。 三、…

[精品]CSAPP Bomb Lab 解题报告(六)

接上篇[精品]CSAPP Bomb Lab 解题报告(五) gdb常用指令 设置Intel代码格式:set disassembly-flavor intel 查看反汇编代码:disas phase_1 查看字符串:(gdb) x/s 0x402800 0x402800: "Gunston"6. Phase 6: linked lists / pointers / structs 6.1 本关密码 …