数字统计
题意
定范围 【2,22】数字2在数2中出现了一次,12中出现1次,20中出现1次,21出现1次,22出现两次 ,共6次
思路
- 用数学算法进行判断
坑点
1.p=i记得重新定义一个新数,防止计算出差错
算法一:while循环
实现步骤
- for循环中嵌套一个while循环
- 如果p除以10的余数为2就加一,并把p除10
- 输出计数
代码
#include <iostream>
#include <cstdio>
using namespace std;
int main(){
int l,r;
scanf("%d %d",&l,&r);
int count=0;
for(int i=l;i<=r;i++){
int p=i;//要找个符号替换掉,防止与i++相冲突
while(p){
if(p%10==2){
count++;
}
p/=10;
}
}
cout<<count;
return 0;
}