【问题描述】
小明对数位中含有 2、0、1、9 的数字很感兴趣,在 1 到 40 中这样的数包
括 1、2、9、10 至 32、39 和 40,共 28 个,他们的和是 574。
请问,在 1 到 2019 中,所有这样的数的和是多少?
import java.util.Scanner;
public class 求和 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int sum = 0;
for (int i =1; i <=2019; i++) {
int num = i;
if ((num>=889&&num<=2019)) {
sum+=i;
continue;
}
if ((num>=9&&num<=32)||(num>=89&&num<=330)) {
sum+=i;
continue;
}
else {
while (num!=0) {
if ((num%10==0)||(num%10==1)||(num%10==2)||(num%10==9)) {
sum+=i;
break;
}
num=num/10;
}
}
}
System.out.println(sum);
}
}