蓝桥杯数的分解
public class lanqiao {
static char[] chars=new char[4];
public static void main(String[] args) {
int count=0;int s;
for (int i=1;i<2019;i++){
if (f(i)==false){
continue;
}
for (int j=1;j<2019;j++){
if (f(j)==false){
continue;
}
if (i==j){
continue;
}
for (int k=1;k<2019;k++){
if (f(k)==false){
continue;
}
if (k==i||k==j){
continue;
}
if (i+k+j==2019){
count++;
}
}
}
}
System.out.println(count/6);
}
static boolean f(int n){
String string=Integer.toString(n);
chars=string.toCharArray();
for (int i=0;i<chars.length;i++){
if (chars[i]=='2'||chars[i]=='4'){
return false;
}
}
return true;
}
}
答案是40785
一开始只打算用两层循环,第三个数靠2019-前两个数,但是最后的结果会偏大不少,如果有知道的大佬请赐教,多谢