枚举闭区间 [L,R],用字符串 count 累加数字 2 的出现次数。
OJ: noi_openjudge
题目 ID: ch0105-41
难度:入门
标签:枚举字符串数位python
日期: 2026-07-30 23:01
题意
统计闭区间 2 出现的总次数。
思路
遍历 range(left, right + 1),端点 right + 1 保证右端点被包含。每个数转为字符串后,count("2") 统计本数贡献,最后累加。
代码
Python代码
python
left, right = map(int, input().split())
answer = sum(str(number).count("2") for number in range(left, right + 1))
print(answer)C++代码
cpp
#include <cstdio>
int main(){
int i,l,r;
int cnt=0;
scanf("%d%d",&l,&r);
for (i=l;i<=r;i++){
int t= i;
while( t != 0){
int a = t % 10;
if( a == 2){
cnt++;
}
t /= 10;
}
}
printf("%d\n",cnt);
return 0;
}复杂度
设区间长度为
总结
计数区间题先确认是闭区间,再把右端点加一传给 Python 的 range。