2026/5/21 19:31:33
网站建设
项目流程
企业门户网站升级,建设工程施工合同管理的原则,小程序模板设计,平度市网站建设1.练习项目#xff1a;
题目描述
2020 年春节期间#xff0c;有一个特殊的日期引起了大家的注意#xff1a;2020 年 2 月 2 日。因为如果将这个日期按 “yyyymmdd” 的格式写成一个 8 位数是 20200202#xff0c;恰好是一个回文数。我们称这样的日期是回文日期。
有人表…1.练习项目题目描述2020 年春节期间有一个特殊的日期引起了大家的注意2020 年 2 月 2 日。因为如果将这个日期按 “yyyymmdd” 的格式写成一个 8 位数是 20200202恰好是一个回文数。我们称这样的日期是回文日期。有人表示 20200202 是 “千年一遇” 的特殊日子。对此小明很不认同因为不到 2 年之后就是下一个回文日期20211202 即 2021 年 12 月 2 日。也有人表示 20200202 并不仅仅是一个回文日期还是一个 ABABBABA 型的回文日期。对此小明也不认同因为大约 100 年后就能遇到下一个 ABABBABA 型的回文日期21211212 即 2121 年 12 月 12 日。算不上 “千年一遇”顶多算 “千年两遇”。给定一个 8 位数的日期请你计算该日期之后下一个回文日期和下一个 ABABBABA 型的回文日期各是哪一天。输入描述输入包含一个八位整数 N表示日期。对于所有评测用例10000101≤N≤89991231保证 N 是一个合法日期的 8 位数表示。输出描述输出两行每行 1 个八位数。第一行表示下一个回文日期第二行表示下一个 ABABBABA 型的回文日期。2.选择课程在蓝桥云课中选择题库选择题号498并开始练习。3.开始练习1源码#includebits/stdc.husing namespace std;int s2i(string s){int res0;for(const autoi:s){resres * 10 i - 0;}return res;}string i2s(int x,int w){string res;while(x){res(x%10)0;x/10;}while(res.length()w){res0;}reverse(res.begin(),res.end());return res;}bool isLeapyear(int year){return (year%40year%100!0)||(year%4000);}bool isok(int year,int month,int day){int days[]{0,31,28,31,30,31,30,31,31,30,31};if(isLeapyear(year)){days[2]29;}return daydays[month];}bool ispa(string s){for(int i0;is.length()/2;i){if(s[i]!s[s.length()-1-i]){return false;}}return true;}bool ispa2(string s){if(!ispa(s)){return false;}return s[0]s[2]s[1]s[3];}int main(){ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);string s;cins;int years2i(s.substr(0,4)),months2i(s.substr(4,2)),days2i(s.substr(6,2));bool ans1false,ans2false;for(int iyear;i9999;i){for(int j1;j12;j){if(iyearjmonth){continue;}for(int k1;k31;k){if(iyearjmonthkday){continue;}if(!isok(i,j,k)){continue;}string datei2s(i,4)i2s(j,2)i2s(k,2);if(!ans1ispa(date)){coutdate\n;ans1true;}if(!ans2ispa2(date)){coutdate\n;ans2true;}}}}return 0;}2检验结果对此代码进行检验检验后无报错提交此代码判题结果为正确100分。3练习心得注意每段代码末尾的分号是否存在如不存在则需即使补充输入法是否切换为英语模式语法是否错误。