蓝桥杯,c++/c,试题 历届试题 回文日期
2021/4/17 22:25:18
本文主要是介绍蓝桥杯,c++/c,试题 历届试题 回文日期,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
试题 历届试题 回文日期
资源限制
时间限制:1.0s 内存限制:256.0MB
问题描述
2020年春节期间,有一个特殊的日期引起了大家的注意:2020年2月2日。因为如果将这个日期按 yyyymmdd 的格式写成一个8位数是 ,恰好是一个回文数。我们称这样的日期是回文日期。
有人表示 是“千年一遇”的特殊日子。对此小明很不认同,因为不到2年之后就是下一个回文日期: 即2021年12月2日。
也有人表示 并不仅仅是一个回文日期,还是一个 型的回文日期。对此小明也不认同,因为大约 100 年后就能遇到下一个 型的回文日期: 即2121年12月12日。算不上“千年一遇”,顶多算“千年两遇”。
给定一个8位数的日期,请你计算该日期之后下一个回文日期和下一个 型的回文日期各是哪一天。
输入格式
输入包含一个八位整数 ,表示日期。
输出格式
输出两行,每行1个八位数。
第一行表示下一个回文日期,第二行表示下一个 型的回文日期。
样例输入
20200202
Data
样例输出
20211202
21211212
Data
评测用例规模与约定
对于所有评测用例,, 保证 是一个合法日期的 8 位数表示。
思路:只要认真研究,有什么特殊的情况,这条题目其实很简单,乍一看,我们第一时间会想到直接从0-99999999循环验证,但是这是回文日期,不是回文数,日期,年月日不能为零,并且,你的月份不能超过12,天数最多不能超过31,而且当你在闰年的时候,月份的天数是不一样的,所以这里我们要熟悉判断闰年的经典程序语句
if((year%100!=0&&year%4==0)||year%400==0)
注意,以上语句基本适用各种日期类题目!!
还有,我们要熟知基本日期类题目套路程序思想,标明月份天数,判断是否闰年,当月份达到12时,星期到达7,天数到本月的天数极限的时候,要重新将其变量初始化。
int month_days[13]={0,31,0,31,30,31,30,31,31,30,31,30,31};
以下为参考代码
#include<bits/stdc++.h> using namespace std; int a[9];// int month_day[13]={0,31,0,31,30,31,30,31,31,30,31,30,31}; int year,month=1,day=1; //判断i是否为合法年份 bool judge(){ if((year%100!=0&&year%4==0)||year%400==0){ month_day[2]=29; } else{ month_day[2]=28; } if(day<=month_day[month]&&month<=12&&month!=0&&day!=0&&year!=0){ return true; } return false; } int main(){ int n; cin>>n; int cnt=0; for(int i=n+1;i<=99991231;i++){ year=i/10000; day=i%100; month=i/100%100; if(!judge()){ continue; } int i1=i; int j=1; while(i1){ a[j]=i1%10; i1/=10; j++; } int t=1; for(int k=1;k<=4;k++){ if(a[k]!=a[8-k+1]){ t=0; } } if(t==0){ continue; } else{ cnt++; int x=a[1],y=a[2]; if(cnt==1){ cout<<i<<endl; //判断这是回文日期,还得判断他是否是ab形,因为回文日期和ab形可能会相等。 if(a[3]==x&&a[6]==x&&a[8]==x&&a[4]==y&&a[5]==y&&a[7]==y){ cnt++; cout<<i<<endl; } } else if(cnt==2){ if(a[3]==x&&a[6]==x&&a[8]==x&&a[4]==y&&a[5]==y&&a[7]==y){ cout<<i<<endl; } else{ cnt--; } } } if(cnt==2){ break; } } return 0; }
这篇关于蓝桥杯,c++/c,试题 历届试题 回文日期的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-06-29易优CMS安装常见问题汇总-icode9专业技术文章分享
- 2024-06-28易优新手必读安装教程-icode9专业技术文章分享
- 2024-06-28忘记eyoucms后台密码怎么办?-icode9专业技术文章分享
- 2024-06-26终极指南:Scrum中如何设置需求优先级
- 2024-06-26AI大模型企业应用实战(25)-为Langchain Agent添加记忆功能
- 2024-06-26小白家庭 nas 搭建方案-icode9专业技术文章分享
- 2024-06-23AI大模型企业应用实战(14)-langchain的Embedding
- 2024-06-23AI大模型企业应用实战(15)-langchain核心组件
- 2024-06-23AI大模型企业应用实战(16)-langchain核心组件
- 2024-06-23AI 大模型企业应用实战(06)-初识LangChain