這道題的思路其實很簡單,完全屬於簽到題、、、我的水平也就是只能做出簽到題了
思路:
- 遍歷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
歡迎其他小伙伴一起來貢獻答案!