蓝桥杯 第十届 数的分解
作者:互联网
答案:40785
解题思路:
- 条件约束
- 三个数为正整数且各不相同(易忽略)。
- 三个数都不包含2和4,和为2019.
- 三个数的不同排列方式视为一个分解方案。
- 分析
规定三个数的大小关系,暴力循环,满足条件则++ans。
#include <iostream> using namespace std; int chek(int x); int main() { ios::sync_with_stdio(false); cout.tie(0); int ans=0; int a,b,c;//a<b<c 减小范围 for(a=1;a<700;++a)// 2019/3=673,a不会大于673。 for(b=a+1;b<=1010;++b)//b从a+1初始,2019/2=1010,b<c,b不会大于1010。 { c=2019-a-b; if(c>b&&chek(a)&&chek(b)&&chek(c)) { ++ans; // cout<<ans<<":"<<a<<" "<<b<<" "<<c<<endl;//所有分解方法。 } } cout<<ans<<endl; return 0; } int chek(int x)//满足条件返回1,否则返回0。 { while(x>0) { if(x%10==2||x%10==4) return 0; x/=10; } return 1; }
标签:10,return,第十届,int,蓝桥,分解,&&,ans,chek 来源: https://www.cnblogs.com/Slowbeat/p/12373021.html