温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

ACwing中如何使用回文日期

发布时间:2021-08-05 16:15:26 来源:亿速云 阅读:174 作者:Leah 栏目:编程语言

今天就跟大家聊聊有关ACwing中如何使用回文日期,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。

手写一个日历累死。
而八位数的回文,一旦前四位确定好,后四位就一定,所以只需要枚举四位数字的。
所以,这个题的思路:先枚举回文,再判断该数字是否在给定范围内,在判断其是不是合法日期。
判断合法日期:年份一定正确,月份要在1~12内,日期根据月份的不同,有不同的天数,这个可以考虑用一个数组来存。

#include<iostream> #include<cstring> #include<cstdio> #include<algorithm> using namespace std; int date1,date2; int days[13]={0,31,28,31,30,31,30,31,31,30,31,30,31}; bool check_date(int date){     int year=date/10000;     int month=date%10000/100;     int day=date%100;     if(month==0||month>12) return false;     if(day==0||month!=2&&day>days[month]) return false;     if(month==2){         //判断闰年         int leap=year%100 && year%4==0 || year%400==0;         if(day>leap+28) return false;     }     return true; } int main(){     cin>>date1>>date2;     int res=0;     //枚举回文(前四位确定好之后,后四位就一定确定)     for(int i=1000;i<10000;i++){         int date=i,x=i;         for(int j=0;j<4;j++){             date=date*10+x%10;             x/=10;         }         //判断是否在范围内并且是个合法日期         if(date1<=date && date2>=date && check_date(date)) res++;     }     cout<<res<<endl;     return 0; }

看完上述内容,你们对ACwing中如何使用回文日期有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注亿速云行业资讯频道,感谢大家的支持。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI