题解 | #[NOIP2010]数字统计#
[NOIP2010]数字统计
https://ac.nowcoder.com/acm/problem/16599
1.判断一个数字含有2的个数
记数为a,他所含的2的个数为sum,初始为0。
一个数模10等于2,说明个位为2,sum加1。再判断a数的倒数第二位(十位),直至最高位。
while(a!=0){
sum=a%10==2?sum+1:sum;
a/=10;
}
2.使用循环从L判断到R即可。
#include<bits/stdc++.h>
using namespace std;
int main(){
int L=0,R=0,sum=0;
cin>>L;
cin>>R;
for(int i=L;i<=R;i++){
int tmp=i;
while(tmp!=0){
sum=tmp%10==2?sum+1:sum;
tmp/=10;
}
}
cout<<sum<<endl;
}

美的集团公司福利 859人发布
查看11道真题和解析