🍋题目描述
把2019 分解成3 个各不相同的正整数之和,并且要求每个正整数都不包 含数字2 和4,一共有多少种不同的分解方法? 注意交换3 个整数的顺序被视为同一种方法,例如1000+1001+18 和 1001+1000+18 被视为同一种。
🍋思路
数字填空题。 一开始想着怎么查重。 直接三重循环代表三个数,i,j,k,j必然比i大,k必然比j大,这样就不会有重复的疑问了。 还有一些细节问题,具体看代码
🍋源代码
public class Main {
public static void main(String[] args) {
int ans=0;
for(int i=1;i<2019;i++) {
for(int j=i+1;j<2019;j++) {
for(int k=j+1;k<2019;k++) {
if(i+j+k==2019) {
if(f(i)&&f(j)&&f(k)) {
ans++;
}
}
}
}
}
System.out.println(ans);
}
static boolean f(int x) {
while(x!=0) {
int k=x%10;
if(k==2||k==4) {
return false;
}
x/=10;
}
return true;
}
}
🍋其他真题
链接: 最全的2021蓝桥杯算法课《算法很美》的学习笔记总目录+真题详解.
|