请统计某个给定范围[L, R]的所有整数中,数字2出现的次数。
比如给定范围[2, 22],数字2在数2中出现了1次,在数12中出现1次,在数20中出现1次,在数21中出现1次,在数22中出现2次,所以数字2在该范围内一共出现了6次。
输入
输入共1行,为两个正整数L和R,之间用一个空格隔开
输出
输出共1行,表示数字2出现的次数。
样例输入 复制
2 22
样例输出 复制
6
import java.util.Scanner;
public class Main02 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
Main02 mm = new Main02();
int a = sc.nextInt();
int b = sc.nextInt();
int sum = 0;
for (int i = a; i <=b; i++) {
sum = sum + mm.every(i);
}
System.out.println(sum);
}
public int every(int i) {
int num1 = 0;
int num2=0;
int i1 = i;
int i2 = i;
while (i1 > 1) { //每一个数的循环次数
i1 = i1 / 10;
num1++;
}
for (int j = 1; j <= num1; j++) { //每一个数含2个数
if (i2%10 == 2) {
num2++;
}
i2=i2/10;
}
return num2;
}
}