蓝桥杯 回文数

public class Main {

	public static void main(String[] args) {
		for(int i=1000;i<10000;i++) {
			int a=i/1000;
			int b=i%1000%100%10;
			int c=i%1000/100;
			int d=i%1000%100/10;
			if(a==b&&c==d) {
				System.out.println(i);
			}
		}
	}
}

虽然给定引用中未直接提供蓝桥杯回文日期问题的完整代码,但可以基于描述给出一个简单的 Python 代码示例来解决该问题。代码的主要思路是遍历一定范围内的日期,判断其是否为合法日期、回文日期以及 ABABBABA 型回文日期。 ```python # 判断日期是否合法 def is_valid_date(year, month, day): if month < 1 or month > 12: return False if month in [1, 3, 5, 7, 8, 10, 12]: return 1 <= day <= 31 elif month in [4, 6, 9, 11]: return 1 <= day <= 30 else: if (year % 4 == 0 and year % 100 != 0) or (year % 400 == 0): return 1 <= day <= 29 return 1 <= day <= 28 # 判断是否为回文日期 def is_palindrome_date(date_str): return date_str == date_str[::-1] # 判断是否为 ABABBABA 型回文日期 def is_ababbaba_date(date_str): if len(date_str) == 8: return date_str[0] == date_str[2] == date_str[5] == date_str[7] and date_str[1] == date_str[3] == date_str[4] == date_str[6] return False # 查找回文日期和 ABABBABA 型回文日期 def find_palindrome_dates(start_year, end_year): palindrome_dates = [] ababbaba_dates = [] for year in range(start_year, end_year + 1): for month in range(1, 13): for day in range(1, 32): if is_valid_date(year, month, day): date_str = f"{year:04d}{month:02d}{day:02d}" if is_palindrome_date(date_str): palindrome_dates.append(date_str) if is_ababbaba_date(date_str): ababbaba_dates.append(date_str) return palindrome_dates, ababbaba_dates # 示例调用 start_year = 2020 end_year = 2122 palindrome_dates, ababbaba_dates = find_palindrome_dates(start_year, end_year) print("回文日期:", palindrome_dates) print("ABABBABA 型回文日期:", ababbaba_dates) ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值