试题D 数的分解

 答案:40785

复制代码
#include <iostream>
using namespace std;

bool check(int i) {
    int x;
    while (i) {
        x = i % 10;
        if (x == 2 || x == 4)
            return false;
        i /= 10;
    }
    return true;
}

/*
条件约束:
    1.各整数不相等
    2.每个整数不含2或4
    3.不能有重复的(j=j+1;k=k+1避免不重复)
*/
int main() {
    int n = 2019, count = 0, k;
    for (int i = 1; i < 2000; i++) {
        if (check(i)) {
            for (int j = i + 1; j < 2000; j++) {
                if (check(j) && j != i) {
                    for (int k = j + 1; k < 2000; k++) {
                        if (check(k) && k != i && k != j && i + j + k == 2019) {
                            count++;
                        }
                    }
                }
            }
        }
    }
    cout << count;
    return 0;
}
复制代码

 

posted @   湘summer  阅读(35)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· 单线程的Redis速度为什么快?
· 展开说说关于C#中ORM框架的用法!
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库
点击右上角即可分享
微信分享提示