[2016年NOIP普及组] 回文日期
[2016年NOIP普及组] 回文日期
思路:一个 8 位数字是回文的,也就是对于所有的 i(1≤i≤8 )从左向右数的第 i 个数字和第 9-i 个数字(即从右向左数的第i个数字)是相同的。那么每年都最多有一个回文日期。可以将每天所对应的回文日期求出来,最后直接与题目所给范围比较,用计数器记录符合题意的回文日期个数。
代码如下:
#include<iostream>
using namespace std;
int i,j,n,m,a,b,c,sum,ans=0;
int s[13]={0,31,29,31,30,31,30,31,31,30,31,30,31};
int main()
{
cin>>n>>m;
for(int i=1;i<=12;i++)//月
for(j=1;j<=s[i];j++)//日
{
c=(j%10)*1000+
(j/10)*100+
(i%10)*10+
(i/10);//算出前4位
sum=c*10000+i*100+j;//算出整个日期
if(sum<n||sum>m) continue;//超出时间范围就退出本轮循环,也可以理解为不在所给范围里的拿掉,剩下的就是符合题意的
ans++;//统计
}
cout<<ans<<endl;
return 0;
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!