这道题的思路其实很简单,完全属于签到题、、、我的水平也就是只能做出签到题了
思路:
- 遍历2019个数字
- 如果其中含有2、0、1、9这些数字其中的一个
- 将其平方后和sum相加
只是最后那个提示,“如果结果是负的”,让我觉得sum可能要用long
public class Main {
static boolean isIn(int num) {
String temp = "" + num;
char[] arr = temp.toCharArray();
for(int i = 0; i < temp.length(); i++)
if(arr[i] == '0' || arr[i] == '1' || arr[i] == '2' || arr[i] == '9') return true;
return false;
}
public static void main(String[] args) {
long ans = 0;
for(int i = 1; i <= 2019; i++) if(isIn(i)) ans += i*i;
System.out.println(ans);
}
}
题目和答案我已经上传到github上了:https://github.com/zzz130981/2019-Blue-Bridge-Cup-A
欢迎其他小伙伴一起来贡献答案!