今天就跟大家聊聊有关ACwing中如何使用回文日期,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。
创新互联公司专注于金川企业网站建设,成都响应式网站建设公司,商城网站制作。金川网站建设公司,为金川等地区提供建站服务。全流程按需网站开发,专业设计,全程项目跟踪,创新互联公司专业和态度为您提供的服务
手写一个日历累死。
而八位数的回文,一旦前四位确定好,后四位就一定,所以只需要枚举四位数字的。
所以,这个题的思路:先枚举回文,再判断该数字是否在给定范围内,在判断其是不是合法日期。
判断合法日期:年份一定正确,月份要在1~12内,日期根据月份的不同,有不同的天数,这个可以考虑用一个数组来存。
#include#include #include #include 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< 看完上述内容,你们对ACwing中如何使用回文日期有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注创新互联行业资讯频道,感谢大家的支持。
分享题目:ACwing中如何使用回文日期
文章链接:http://cdxtjz.cn/article/jjpiji.html