P8752 [蓝桥杯 2021 省 B2] 特殊年份
题目描述
今年是 2021 年,2021 这个数字非常特殊, 它的千位和十位相等, 个位比百位大 1 1 1,我们称满足这样条件的年份为特殊年份。
输入 5 5 5 个年份,请计算这里面有多少个特殊年份。
输入格式
输入 5 5 5 行,每行一个 4 4 4 位十进制数(数值范围为 1000 1000 1000 至 9999 9999 9999),表示一个年份。
输出格式
输出一个整数,表示输入的 5 5 5 个年份中有多少个特殊年份。
输入输出样例 #1
输入 #1
2019
2021
1920
2120
9899
输出 #1
2
说明/提示
【样例说明】
2021 和 9899 是特殊年份,其它不是特殊年份。
蓝桥杯 2021 第二轮省赛 B 组 F 题。
洛谷链接
解题思路
1.把"是否特殊"封装成布尔函数
specialYear(int year)
- 用
/与%依次取出千、百、十、个位- 判断
千 == 十 && 个 - 百 == 1
2.读入 5 个年份,存到数组
3.遍历数组,调用上述函数计数
- 输出结果
java
public class Main {
/* 判断年份是否特殊 */
private static boolean specialYear(int year) {
int g = year % 10; // 个位
int s = (year / 10) % 10; // 十位
int b = (year / 100) % 10; // 百位
int q = year / 1000; // 千位
return q == s && g - b == 1;
}
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int[] years = new int[5];
for (int i = 0; i < 5; i++) {
years[i] = sc.nextInt();
}
int count = 0;
for (int year : years) {
if (specialYear(year)) {
count++;
}
}
System.out.println(count);
}
}