Run ID:86817

提交时间:2024-07-28 11:25:55

#include<stdio.h> int huiwen(int num){//因为回文数,前后两部分对称,将后部分翻转看看是否等于前部分即可 int right=0; int count=0; while(count<4){ right=right*10+num%10; num/=10; count++; } if(right==num)return 1; else return 0; } int isdate(int num){ int days[13]={0,31,28,31,30,31,30,31,31,30,31,30,31}; int year=num/10000,mon=num%10000/100,day=num%100; if((year%4==0 && year%100!=0)|| year%400==0)days[2]=29; if(mon>12 || mon<=0)return 0; else{ if(day<=days[mon] && day>0){ if(day==mon)return 2; else return 1; } else return 0; } } int main(){ int date; int i,count=0; scanf("%d",&date); //printf("%d",huiwen(date)); for(i=date+1;i<100000000;i++){ if(huiwen(i) && isdate(i)){ if(!count){ count++; printf("%d\n",i); } if(isdate(i)==2){printf("%d",i);break;} } } return 0; }