题目:
把2019分解成3个各不相同的正整数之和,并且要求每个正整数都不包含数字2和4,一共有多少种不同的分解方法?
注意:
交换3个整数的顺序被视为同一种方法,例如1000+1001+18和1001+1000+18被视为同一种。
答案提交:
这是一道结果填空题,你只需要算出结果后提交即可。本题的结果为一个整数,在提交答案时只填写这个整数,填写多余的内容无法得分。
解题思路:
利用循环暴力解题,根据题目要求进行判断并硬解
//哈哈哈
#includeint surplus(int n)//对数进行求余判断整数是否有2或4 { if (n / 1000 == 2 || n / 1000 == 4 || n / 100 % 10 == 2 || n / 100 % 10 == 4 || n % 100 / 10 == 2 || n % 100 / 10 == 4 || n % 10 == 2 || n % 10 == 4) return 1; else return 0; } int check(int a, int b, int c) { if (surplus(a) || surplus(b) || surplus(c)) return 0; else return 1; } int main() { int i, j, k; int count = 0;//计数器 for (i = 1; i <= 2019; i++) { for (j =i; j <= 2019; j++) { for (k = j; k <= 2019; k++) { if (i + j + k == 2019 &&i!=j&&i!=k&&j!=k)//判断条件 { count+=check(i,j,k); } } } } printf("%dn", count); return 0; }
得出答案:40785
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)