import java.util.Scanner; public class Main { //代码比较多 但容易看懂 public static void main(String[] args) { Scanner sc=new Scanner(System.in); int n=sc.nextInt(); int a=n/10000; int b=n%10000/100; int c=n%100; for (int y =a; ; y++) {//通过 int m=1; if(y==a){m=b;} char[]c1=(y+"").toCharArray(); //2 1 00 01 02 12 31 30 29 if(c1[1]>'3'){ continue;} else if(c1[1]=='3'){ if(c1[0]>='2'){ continue;}} if(c1[2]>'2'){ if(c1[3]!='0'){ continue;}} else { if(c1[3]!='1'&&c1[3]!='0'){ continue;}} int day=0; for (int i = m; i <=12; i++){ if(i==1||i==3||i==5||i==7||i==8||i==10||i==12){day=31;} else if(i==4||i==6||i==9||i==11){day=30;} else { if(isrun(y)) day=29; else day=28; } int today=1; if(i==b&&y==a) {today=c+1;} for (int j =today; j <=day; j++) { int sum=y*10000+i*100+j; if(ishw(sum)){ { System.out.println(sum); getd(a,b,c); return; } } }} } } public static boolean isrun(int y){ if(y%4==0&&y%100!=0||y%400==0) return true; return false; } public static boolean ishw(int n){ char[]c=(n+"").toCharArray(); for (int i = 0; i < c.length/2; i++) { if(c[i]!=c[c.length-i-1]) return false; } return true; } public static void getd(int y,int b,int c){ boolean isexist=false; for (int i2 = 0; i2 < 1; i2++) { char[]c1=(y+"").toCharArray(); if(c1[0]!=c1[2]||c1[1]!=c1[3]) continue; int[]aa=new int[8]; aa[0]=c1[0];aa[2]=c1[0];aa[5]=c1[0];aa[7]=c1[0]; aa[1]=c1[1];aa[3]=c1[1];aa[4]=c1[1];aa[6]=c1[1]; int ab=(aa[4]-'0')*10+(aa[5]-'0'); int ac=(aa[6]-'0')*10+(aa[7]-'0'); if(ab<=0||ab>12) continue; if(ab==1||ab==3||ab==5||ab==7||ab==8||ab==10||ab==12){if(ac>31) continue;} else if(ab==4||ab==6||ab==9||ab==11){if(ac>30) continue;} else{ if(isrun(y)){if(ac>29) continue; } else { if(ac>28) continue; }} if(ab<b){continue; } else if(ab==b){if(ac<=c) continue; } for (int i = 0; i < aa.length; i++) { System.out.print(aa[i]-'0'); } System.out.println(); isexist=true; break; } if(!isexist){ for(int yii =y+1;; yii++) {//通过 char[]c1=(yii+"").toCharArray(); if(c1[0]!=c1[2]||c1[1]!=c1[3]) continue; int[]aa=new int[8]; aa[0]=c1[0];aa[2]=c1[0];aa[5]=c1[0];aa[7]=c1[0]; aa[1]=c1[1];aa[3]=c1[1];aa[4]=c1[1];aa[6]=c1[1]; int ab=(aa[4]-'0')*10+(aa[5]-'0'); int ac=(aa[6]-'0')*10+(aa[7]-'0'); if(ab<=0||ab>12) continue; if(ab==1||ab==3||ab==5||ab==7||ab==8||ab==10||ab==12){if(ac>31) continue;} else if(ab==4||ab==6||ab==9||ab==11){if(ac>30) continue;} else{ if(isrun(yii)){if(ac>29) continue; } else {if(ac>28) continue; } } for (int i = 0; i < aa.length; i++) { System.out.print(aa[i]-'0'); } System.out.println(); isexist=true; break; } } } }
0.0分
1 人评分
C语言程序设计教程(第三版)课后习题11.8 (C语言代码)浏览:910 |
C语言程序设计教程(第三版)课后习题7.2 (C语言代码)浏览:818 |
【魔板】 (C++代码)(时间超限,希望会的帮我改正一下)浏览:804 |
用筛法求之N内的素数。 (C++代码)浏览:754 |
C语言程序设计教程(第三版)课后习题1.5 (C语言代码)浏览:490 |
模拟计算器 (C++代码)浏览:885 |
简单的a+b (C语言代码)浏览:1024 |
C二级辅导-等差数列 (C语言代码)浏览:806 |
陈教主的三角形 (C语言代码)浏览:1196 |
勾股数 (C语言代码)浏览:830 |