题 A: 求和
本题总分:5 分
【问题描述】
小明对数位中含有 2、0、1、9 的数字很感兴趣,在 1 到 40 中这样的数包
括 1、2、9、10 至 32、39 和 40,共 28 个,他们的和是 574。
请问,在 1 到 2019 中,所有这样的数的和是多少?
【答案提交】
这是一道结果填空的题,你只需要算出结果后提交即可。本题的结果为一
个整数,在提交答案时只填写这个整数,填写多余的内容将无法得分。
代码如下:
public class Main {
public static void main(String[] args) {
int a=0;
int b=0;
int c=0;
int d=0;
for (int i = 1; i <= 2019; i++) {
if(i<100) {
if(i%10==0||i%10==1||i%10==2||i%10==9||i/10%10==1||i/10%10==2||i/10%10==9) {
a+=i;
}
}else
if(i<1000) {
if(i%10==0||i%10==1||i%10==2||i%10==9||i/10%10==0||i/10%10==1||i/10%10==2||i/10%10==9||i/100%10==1||i/100%10==2||i/100%10==9) {
b+=i;
}
}else {
if(i%10==0||i%10==1||i%10==2||i%10==9||i/10%10==0||i/10%10==1||i/10%10==2||i/10%10==9||i/100%10==0||i/100%10==1||i/100%10==2||i/100%10==9||i/1000%10==1||i/1000%10==2||i/1000%10==9) {
c+=i;
}
}
}
d=a+b+c;
System.out.println(d);
}
}