题目总结:[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)。采用边读边处理的策略,无需额外开辟数组存储,内存开销极小。
相关推荐
十二9 分钟前
【洛谷题解】P1083 [NOIP 2012 提高组] 借教室(二分答案 + 差分)
数据结构·c++·算法·蓝桥杯
青少儿编程课堂1 天前
蓝桥杯青少组省考(11/9报名截止·11/22开考)+电子学会图形化考级+信息素养大赛:校园极速跑酷闯关解析
蓝桥杯·scratch·图形化编程·信息素养大赛·电子学会考级
UIU1147 天前
P16237 [蓝桥杯 2026 省 B] 应急布线
数据结构·c++·算法·蓝桥杯
爱聊灵光的维C8 天前
C语言初阶:关于函数设计的详细讲解和注意事项
c语言·开发语言·青少年编程·蓝桥杯·学习方法
GG.WinGel11 天前
三元组中心问题
java·数据结构·算法·青少年编程·蓝桥杯
GG.WinGel12 天前
质数数目(蓝桥杯练习题)
java·数据结构·算法·青少年编程·蓝桥杯
Tsuki_tl13 天前
【优选算法 — 双指针】经典例题题解+算法总结
算法·蓝桥杯·力扣·刷题·双指针·1024程序员节·优选算法
十二15 天前
【洛谷题解】P1115 最大子段和(前缀和 + 维护最小前缀)
数据结构·c++·算法·蓝桥杯
青少儿编程课堂17 天前
2026蓝桥杯青少组:校园飞鸟穿越赛解析
蓝桥杯·scratch·少儿编程·图形化编程·蓝桥杯青少组
aqiu11111119 天前
蓝桥杯真题复盘:Fibonacci 数列与黄金分割(C++ 算法详解)
c++·算法·蓝桥杯