P8752 [蓝桥杯 2021 省 B2] 特殊年份——Java解答

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.遍历数组,调用上述函数计数

  1. 输出结果
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);   
    }
}
相关推荐
数智化管理手记11 分钟前
海量数据如何沉淀有效数据资产?数据标准化治理方案如何搭建?
java·大数据·人工智能
cfm_291432 分钟前
SpringAI + Ollama 本地大模型
java·开发语言·人工智能·语言模型
鲸采云SRM采购管理系统1 小时前
采购管理系统哪家好?2026最新测评对比
java·服务器·数据库
0x532 小时前
Java网络编程(二)
java·服务器·网络
Flittly3 小时前
【雕虫大技】Agent 动态 Skill 供应链安全加固(三):输出校验与治理闭环实战
java·spring boot·spring
Poo_Chai3 小时前
QT emit信号后完整处理流程,包括槽函数响应流程
java·开发语言·数据库
瑞码空间3 小时前
Java 图形界面(GUI)完整知识点手册
java·开发语言·图形界面·swing
树码小子3 小时前
开启 IDEA 中的断言功能
android·java·intellij-idea
茶本无香3 小时前
Java调用Shell脚本执行SQL数据库操作:从入门到实战
java·sql·shell