HDACM2089
此题采用布尔数组来解决,用数组下标表示手机号码,如果号码中有4或者是62则该布尔值为true,最后只要统计一下n~m中true的个数,就可以算出不含不吉利数字的个数
import java.util.Scanner;
public class Main{
public static void main(String[] args) {
boolean[] a = new boolean[1000000];
for (int i = 1; i < a.length; i++) {
int k =i;
while (k>0) {
if (k%10==4) {
a[i] = true;
break;
}
if (k%100==62) {
a[i] = true;
break;
}
k = k/10;
}
}
Scanner sc = new Scanner(System.in);
while(sc.hasNext()){
int n = sc.nextInt();
int m = sc.nextInt();
if (n == 0 && m == 0) {
break;
}
int count = 0;
for (int i = n; i <= m; i++) {
if(a[i]){
count++;
}
}
System.out.println(m-n-count+1);
}
}
}