问题描述
今年是 2021 年,2021 这个数字非常特殊,它的千位和十位相等,个位比百位大 1,我们称满足这样条件的年份为特殊年份。
输入 5 个年份,请计算这里面有多少个特殊年份。
输入格式
输入 5 行,每行一个 4 位十进制数(数值范围为 1000 至 9999),表示一个年份。
输出格式
输出一个整数,表示输入的 5 个年份中有多少个特殊年份。
输入样例:
2019 2021 1920 2120 9899
输出样例:
2 • 1
样例解释
2021 和 9899 是特殊年份,其它不是特殊年份。
思路
这道题有个小技巧就是可以利用 c++ string 容器的特性,直接访问字符串的下标来判断,就不用用整数除余得到每一位再来判断了。
代码
#include <bits/stdc++.h> using namespace std; int main() { string s; int res = 0; for (int i = 0; i < 5; i ++ ) { cin >> s; if (s[0] == s[2] && s[1] == s[3] - 1) res ++ ; } cout << res << endl; return 0; }