【问题描述】 把 2019 分解成 3 个各不相同的正整数之和,并且要求每个正整数都不包 含数字 2 和 4,一共有多少种不同的分解方法? 注意交换 3 个整数的顺序被视为同一种方法,例如 1000+1001+18 和 1001+1000+18 被视为同一种。 (10分)
【答案提交】 这是一道结果填空的题,你只需要算出结果后提交即可。本题的结果为一 个整数,在提交答案时只填写这个整数,填写多余的内容将无法得分。
问题分析:
很简单需要三重循环,需要注意题目中的几个条件:
1.3个数各不相同;
2.都是正整数,需要在1开始,不包括0;
3.每个数都不包括数字2 和4
4.注意不同的顺序都是同一个
public class Fenjie {
public static boolean pd(int a){
while(a>0){
int f=a%10;
if(f==2||f==4)
return false;
a=a/10;
}
return true;
}
public static void main(String[] args) {
int a=0;
// TODO Auto-generated method stub
for(int i=1;i<=2019;i++){
for(int j=i+1;j<=2019;j++){
for(int z=j+1;z<=2019;z++){
if((i+j+z==2019)&&pd(i)&&pd(j)&&pd(z)){
a++;
}
}
}
}
System.out.println(a);
}
}
答案:40785