题目背景
对应的选择、判断题:https://ti.luogu.com.cn/problemset/1190
题目描述
如果一个正整数在十进制下的所有数位都相同,小 A 就会觉得这个正整数很优美。例如,正整数 6 的数位都是 6,所以 6 是优美的。正整数 99 的数位都是 9,所以 99 是优美的。正整数 123 的数位不都相同,所以 123 并不优美。
小 A 想知道不超过 n 的正整数中有多少优美的数字。你能帮他数一数吗?
输入格式
一行,一个正整数 n。
输出格式
一行,一个正整数,表示不超过 n 的优美正整数的数量。
输入输出样例
输入 #1复制
6
输出 #1复制
6
输入 #2复制
2025
输出 #2复制
28
说明/提示
对于所有测试点,保证 1≤n≤2025。
代码实现:
cpp
#include <iostream>
using namespace std;
bool check(int x)
{
int last = x % 10;
while (x > 0)
{
if (x % 10 != last)
return false;
x /= 10;
}
return true;
}
int main()
{
int n, cnt = 0;
cin >> n;
for (int i = 1; i <= n; i++)
{
if (check(i))
cnt++;
}
cout << cnt << endl;
return 0;
}