试题 A:立方和
类型:结果填空,总分:5分
【问题描述】
小明对数位中含有
2
、
0
、
1
、
9
2、0、1、9
2、0、1、9 的数字很感兴趣,在1到40中这样的数包括
1
、
2
、
9
、
10
1、2、9、10
1、2、9、10至
32
、
39
32、39
32、39和
40
40
40,共
28
28
28个,他们的和是
574
574
574,平方和是
14362
14362
14362,立方和是
400816
400816
400816。
请问,在1到2019中,所有这样的数的立方和是多少?
【思路】
- 对
1
−
2019
1-2019
1−2019 进行遍历,对每一个数,判断他的各个数位是否为
2
、
0
、
1
、
9
2、0、1、9
2、0、1、9 。求每一位的数字是蓝桥杯常考的简单知识了,通过不断
%10 /10
即可,也可以用字符串操作
【代码】
public class Main {
public static void main(String[] args) {
long ans = 0;
for(long i = 1; i <= 2019; i++) {
long n = i, d = 0;
while(n > 0) {
d = n % 10;
if(d == 2 || d == 0 || d == 1 || d == 9) {
ans += (i * i * i);
break;
}
n /= 10;
}
}
System.out.println(ans);
}
}
【结果】
4097482414389
【做题链接】
只找到了求平方和的链接,稍微改一下就行了