问题描述
小明对数位中含有 2、0、1、9 的数字很感兴趣,在 1 到 40 中这样的数包
括 1、2、9、10 至 32、39 和 40,共 28 个,他们的和是 574,平方和是 14362。
注意,平方和是指将每个数分别平方后求和。
请问,在 1 到 2019 中,所有这样的数的平方和是多少?
思路:用循环逐一判断数字的每一位
public class Test1 {
public static void main(String[] args) {
long sum=0;
for(int i=1;i<=2019;i++) {
int t=i;
while(t>0) {
if(t%10==2||t%10==0||t%10==1|t%10==9) {//t%10得到的是个位数 例如2019%10=9
sum+=i*i;
break;
}
t/=10;//取商 2019/10=201 这时候t=201再去这样循环
}
}
System.out.println(sum);
}
}