Java 算法课作业1——回文数

这篇博客探讨了一道算法题目,要求找出从公元1年1月1日到给定日期x年y月z日之间的回文日期数量。博主分享了题目要求,输入输出格式,并提供了自己的解题思路,包括如何判断回文数以及优化循环条件。同时,博主也提到从他人代码中学习到的技巧,如简化回文数判断和优化循环结束条件。
摘要由CSDN通过智能技术生成

Java 算法课作业1——回文数

题目要求

1.题目描述

2018年10月2日是一个神奇的日子,因为将数字连起来就变成了2018102,2018102是一个正读倒读都一样的整数。

那么,问题来了,从公元1年1月1日到x年y月z日,有多少个这样神奇的日子?

注意:对于任意一天,a年b月c日中的a, b, c
这三个数都不能有前导零,且要求是合法的日子。别忘记考虑闰年。

2.输入数据

三个整数 x, y, z (1≤x≤2018, 1≤y≤12, 1≤z≤31)
表示x年y月z日,保证日期合法。

3.输出数据

回文日期的个数(一个整数)。

4.样例输入

1000 1 1
5.样例输出

1487

代码

import java.util.Scanner;

public class Hw1 {
   

	// 判断是否是回文数
	public boolean isParlindrome(int year, int month, int day) {
   
		String y = String.valueOf(year);
		String m = String.valueOf(month);
		String d = String.valueOf(day);

		String former = y + m + d; // 要判断的数列
		String latter = "";

		for (int i = former.length() - 1; i >= 0; i--) {
   
			latter += former.charAt(i);
		}

		if (former.equals(latter)) 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值