202002225之数的分解(填空)
2020-04-07 12:23
1026 查看
标题: 数的分解(本题总分:10 分)
【问题描述】
把 2019 分解成 3 个各不相同的正整数之和,并且要求每个正整数都不包含数字 2 和 4,一共有多少种不同的分解方法?
注意交换 3 个整数的顺序被视为同一种方法,例如 1000+1001+18 和1001+1000+18 被视为同一种。
【答案提交】
这是一道结果填空的题,你只需要算出结果后提交即可。本题的结果为一个整数,在提交答案时只填写这个整数,填写多余的内容将无法得分。
这个题很复杂所以一开始就没考虑,觉得算的过程中一定有考虑不周的地方。但其实看了题解也没那么难,OK函数用来判断当前数字从个位开始一位一位左移判断数字里是否含2或4。main函数里三重循环遍历组成2019的三个数字符合要求且各不相等。
还要注意的是,三个数顺序不同数相同只算一种。所以同样三个数会有六种排列方式,所以最终答案还要除以六。
下面是AC代码:
#include <bits/stdc++.h> using namespace std; bool ok(int num){ while(num){ int t=num%10; if(t==2||t==4) return false; num/=10; } return true; } int main(){ int n=2019; int cnt=0; for(int i=1;i<2018;i++){ for(int j=1;j<2018;j++){ for(int k=1;k<2018;k++){ if((i+j+k)==2019){ if(ok(i)&&ok(j)&&ok(k)&&(i!=j)&&(j!=k)&&(i!=k)) cnt++; //printf("%d+%d+%d=2019\n",i,j,k); } } } } printf("%d\n",cnt/6); return 0; }
- 点赞
- 收藏
- 分享
- 文章举报
相关文章推荐
- 蓝桥杯 代码填空 因数分解
- UVa 10879 Code Refactoring (因数分解)
- 结果填空:素数个数(蓝桥杯模拟)
- LU分解版本3_选主元、进行本地存储
- 2018 蓝桥杯省赛 B 组模拟赛(五)E. 代码填空:末尾零的个数
- Matrix Factorization SVD 矩阵分解
- 分解因式
- 二、填空:阅读下列程序说明和程序,在可选答案中,挑选一个正确答案。填补(1) (2) (3) (4)处空白,并注释说明为什么。。
- 【质因子分解】NOI 21:最大质因子序列
- hdu1215七夕节 筛素数+素因子分解+乘法公式
- 基于分解的多目标问题中均匀权重向量集合的生成
- 分解大量switch-case分支的两种方法
- UVA - 11134 Fabled Rooks问题分解,贪心
- python之分解以太帧
- 给出一个整数n,将n分解为至少两个整数之和,使得这些整数的乘积最大化,输出能够获得的最大的乘积。
- 《环太平洋》视觉特效分解
- 微服务的 交互 分解组合 容错 模式
- 16---3填空学指针
- jQuery 相关控件的事件操作分解
- 做项目分解的粒度一定要在可控范围内