20200202
——————————————更新线——————————————
好一个回文日期,押题2020年10月17日的蓝桥杯第二轮省赛。判断回文日期的关键函数是一样的。
——————————————更新线——————————————
今天是2020年02月02日,星期日,坐标湖南郴州,天气多云。今天是一个回文日期20200202,谐音“爱你爱你你爱你爱”,珍惜身边每一个爱你的和你爱的人。
我写了一段C++代码来查看这个世纪剩下的所有回文日期,一共9个(含今日),代码运行结果如下。
源代码如下:
#include <bits/stdc++.h>
using namespace std;
#define Up(i,a,b) for(int i = a; i <= b; i++)
bool isLeapYear(int y)
{
return (y%4==0 && y%100!=0) || (y%400==0);
}
bool isPalindrome(int y,int m,int d)
{
stringstream ss;
ss << y << setw(2) << setfill('0') << m << setw(2) << setfill('0') << d;
string str;
ss >> str;
string _ = str;
reverse(_.begin(),_.end());
return str==_;
}
int main()
{
ios::sync_with_stdio(false);
cin.tie(0),cout.tie(0);
cout << "今天是20200202, 21世纪剩下的回文日期如下:" << endl << endl;
Up(i,2020,2100)
{
int a[13] = {0,31,28,31,30,31,30,31,31,30,31,30,31};
if(isLeapYear(i)) a[2]++; //闰年二月有29天
Up(j,1,12)
{
Up(k,1,a[j])
{
if(isPalindrome(i,j,k))
{
printf("%04d年%02d月%02d日是一个回文日期\n\n",i,j,k);
}
}
}
}
return 0;
}
但愿如此,长长久久,平安喜乐。
还没有任何评论,你来说两句吧!