B4411 [GESP202509 二级] 优美的数字
·
B4411 [GESP202509 二级] 优美的数字
题目描述
如果一个正整数在十进制下的所有数位都相同,小 A 就会觉得这个正整数很优美。例如,正整数 666 的数位都是 666,所以 666 是优美的。正整数 999999 的数位都是 999,所以 999999 是优美的。正整数 123123123 的数位不都相同,所以 123123123 并不优美。
小 A 想知道不超过 nnn 的正整数中有多少优美的数字。你能帮他数一数吗?
输入格式
一行,一个正整数 nnn。
输出格式
一行,一个正整数,表示不超过 nnn 的优美正整数的数量。
输入输出样例 #1
输入 #1
6
输出 #1
6
输入输出样例 #2
输入 #2
2025
输出 #2
28
说明/提示
对于所有测试点,保证 1≤n≤20251 \leq n \leq 20251≤n≤2025。
#include<bits/stdc++.h>
using namespace std;
typedef long long ll; // 严格要求
int main(){
ios :: sync_with_stdio(0); // 提高cin、cout的运行速度
ll n, sum = 0;
cin >> n;
for(ll i = 1; i <= n; i++){
//判断当前数是不是美丽数字
bool flag = true; //开始默认是美丽数字
ll x = i, d = i % 10; //x是用来拆位 d是用来判断x当中是否都等于d
while(x){
if(x % 10 != d){ //存在与d不相同不是美丽数
flag = false;
break;
}
x /= 10;
}
//最后
if(flag){
sum++;
}
}
cout << sum << endl;
return 0;
}
更多推荐

所有评论(0)