Problem A. 2018102
时间限制 1000 ms
内存限制 64 MB
题目描述
2018年10月2日是一个神奇的日子,因为将数字连起来就变成了2018102,2018102是一个正读倒读都一样的整数。
那么,问题来了,从公元1年1月1日到x年y月z日,有多少个这样神奇的日子?
注意:对于任意一天,a年b月c日中的a, b, c这三个数都不能有前导零,且要求是合法的日子。别忘记考虑闰年。
输入数据
三个整数 x, y, z (1≤x≤2018, 1≤y≤12, 1≤z≤31) 表示x年y月z日,保证日期合法。
输出数据
回文日期的个数(一个整数)。
样例输入
1000 1 1
样例输出
1487
// Author : 农村娃的成长之路
// Time : 2019/9/24 21:07
// File : Plabindnome.java
// Describe : 求指定日期之间的回文数
// IDE : IntelliJ IDEA
import java.util.Scanner;
public class Plabindnome {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int x = in.nextInt(); // 输入的年份
String str_x = x + "";
int y = in.nextInt(); // 输入的月份
int z = in.nextInt();
String str_z = z + "";// 输入的日期
int count = 0; // 计数器
for (int i = 1; i < x; i++) {
//根据输入年分设定外层循环的范围
for (int j = 1; j <= 12; j++) {
// 根据输入的月份限定范围
if (j == 1 || j == 3 || j == 5 || j == 7 || j == 8 || j == 10 || j == 12) {
for (int k = 1; k <= 31; k++) {
String string = i + "" + j + k;// 将输入的时间转换为字符串
// if (Integer.toString(i).charAt(0) == Integer.toString(k).charAt(str_z.length() - 1)) {//判断年的首位和日期的末位是否一致
if (new StringBuffer(string).reverse().toString