题目总结:[P8752 [蓝桥杯 2021 省 B2] 特殊年份]

题目总结:P8752 蓝桥杯 2021 省 B2 特殊年份

1. 题目大意

  • 定义 :如果一个 4 位十进制年份满足 "千位和十位相等" 且 "个位比百位大 1",则称该年份为"特殊年份"。
  • 输入:5 行,每行一个 4 位十进制数(范围在 1000 至 9999 之间),代表一个年份。
  • 输出:一个整数,表示输入的 5 个年份中一共有多少个特殊年份。

2. 核心考点

  • 数位分离 :熟练掌握利用数学运算符(/ 和 %)提取整数各个数位上的数字。
    • 个位:x % 10
    • 十位:x / 10 % 10
    • 百位:x / 100 % 10
    • 千位:x / 1000
  • 条件判断 :组合逻辑表达式 qian == shi && ge == bai + 1。

3. 参考代码(C++)

cpp 复制代码
#include <bits/stdc++.h>
using namespace std;

int main() {
    int res = 0; // 统计特殊年份的数量
    for (int i = 0; i < 5; i++) {
        int x;
        cin >> x;
        
        // 提取各个数位
        int ge = x % 10;
        int shi = x / 10 % 10;
        int bai = x / 100 % 10;
        int qian = x / 1000;
        
        // 判断是否为特殊年份
        if (qian == shi && ge == bai + 1) {
            res++;
        }
    }
    cout << res << "\n";
    return 0;
}

4. 复杂度分析

  • 时间复杂度 : O ( 1 ) O(1) O(1)。循环固定执行 5 次,每次运算均为常数级基本算术操作,耗时极短(在洛谷评测中仅需 20ms 左右)。
  • 空间复杂度 : O ( 1 ) O(1) O(1)。采用边读边处理的策略,无需额外开辟数组存储,内存开销极小。
相关推荐
青少儿编程课堂4 小时前
2026蓝桥杯青少组:校园防疫大作战解析
蓝桥杯·scratch·少儿编程·图形化编程·蓝桥杯青少组
MoRanzhi12032 天前
106.正则问题(分治)
python·算法·正则表达式·蓝桥杯·递归·分治算法·字符串处理
MoRanzhi12032 天前
122.四平方和(暴力枚举)
python·数学·算法·蓝桥杯·完全平方数·暴力枚举·四平方和定理
aqiu1111116 天前
蓝桥杯省一学习计划:每天 2 小时,12 周高效备赛
学习·职场和发展·蓝桥杯
智者知已应修善业11 天前
【51单片机只有一个8*8点阵数据如何滚动起来一片595+一组IO+花样】2022-1-15
c++·经验分享·笔记·单片机·蓝桥杯·硬件架构
Dream it possible!13 天前
蓝桥杯_翻转_C++
c++·算法·蓝桥杯
鑫 源18 天前
VS2019 for mac里用c#开发Mac OS应用 避坑 和 源码
职场和发展·蓝桥杯
aqiu11111119 天前
【蓝桥杯】0仙境诅咒 — BFS/DFS 图论连通性问题(C++ 题解)
蓝桥杯·深度优先·宽度优先
捷瑞电子工坊1 个月前
嵌入式蓝桥杯从零点亮第一个LED
stm32·蓝桥杯·cubemx·嵌入式·led·ll·锁存