CCF-GESP计算机学会等级考试2026年3月二级C++T1 数数
·
B4497 [GESP202603 二级] 数数
题目描述
对于正整数 nnn,如果 nnn 的所有数位中包含恰好 333 个 222,Alice 会认为这个正整数是美丽的。例如,正整数 241222412224122 中包含 333 个 222,所以 241222412224122 是美丽的;正整数 132132132 中包含 111 个 222,所以 132132132 不是美丽的;正整数 212322212322212322 中包含 444 个 222,所以 212322212322212322 不是美丽的。
Alice 想知道正整数 LLL 到正整数 RRR(包括 LLL 和 RRR)中有多少美丽的正整数,你能帮她数一数吗?
输入格式
输入共 222 行,第一行为正整数 LLL,第二行为正整数 RRR。
输出格式
输出一行,包含一个整数 CCC,表示 LLL 到 RRR 中 CCC 美丽数的数量。
输入输出样例 #1
输入 #1
2221
2223
输出 #1
2
说明/提示
样例解释
222122212221 到 222322232223 中,222122212221 与 222322232223 是美丽的,222222222222 不是美丽的。
数据范围
保证 1≤L≤R≤1061 \leq L \leq R \leq 10^61≤L≤R≤106。
解析
详见代码:
#include <bits/stdc++.h>
using namespace std;
int main(){
int L,R,cnt=0;
cin>>L>>R;
for(int i=L;i<=R;i++){//枚举从L到R的每个数
int t=i;//临时变量,避免更改i的值影响循序次数
int n2=0;//记录2的个数
while(t>0){//拆位
if(t%10==2) n2++;//当前位是2,2的数量加一
t/=10;//去掉最后一位
}
if (n2==3) cnt++;//如果是美丽数字,加一
}
cout<<cnt;
return 0;
}
DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐


所有评论(0)