欢迎您访问365答案网,请分享给你的朋友!
生活常识 学习资料

蓝桥杯真题:数的分解

时间:2023-04-25

题目描述

本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可。

把 2019 分解成 3 个各不相同的正整数之和,并且要求每个正整数都不包含数字 2 和 4,一共有多少种不同的分解方法?

注意交换 33 个整数的顺序被视为同一种方法,例如 1000+1001+18 和 1001+1000+18 被视为同一种。

运行限制

最大运行时间:1s最大运行内存: 128M

这题暴力完事了,要解决的是怎么确定同一种呢,我们只要保证我们遍历的时候按照大小顺序来遍历就不会重复了,代码如下所示:

#include using namespace std;bool check(int n){ while(n) { if(n%10==2 || n%10==4) return false; n/=10; } return true;}int main(){ // 请在此输入您的代码 int ans=0; for(int i=1;i<=2019;++i) { if(!check(i)) continue; for(int j=i+1;j<=2019;++j) { if(!check(j)) continue; for(int k=j+1;k<=2019;++k) { if(check(k)&&i+j+k==2019) ans++; } } } cout<

答案是40785

Copyright © 2016-2020 www.365daan.com All Rights Reserved. 365答案网 版权所有 备案号:

部分内容来自互联网,版权归原作者所有,如有冒犯请联系我们,我们将在三个工作时内妥善处理。