列表

详情


NC208425. 数的分解

描述

欢迎来到2020年蓝桥杯初赛,将2020分解成3个各不相同的正整数之和,并且要求每个正整数都不包含数1和3,一共有多少种不同的分解方法?

注意:注意交换3个整数的顺序被视为同一种方法,例如 1000+1010+10和1010+1000+10被视为同一种

输入描述

请直接在标准输出流中输出你的答案

输出描述

printf("你的答案")

原站题解

上次编辑到这里,代码来自缓存 点击恢复默认模板

C(gcc 7.5.0) 解法, 执行用时: 901ms, 内存消耗: 296K, 提交时间: 2023-01-01 12:20:21

#include<stdio.h>
int check(int x)
{
    while(x)
    {
        int a=x%10;
        if(a==1||a==3)
            return 0;
        x/=10;
    }
    return 1;
}

int main()
{
    int cot=0;
    int i,j,k;
    int n;
    scanf("%d",&n);
    for(i=1;i<2020;i++)
    {
        for(j=i+1;j<2020;j++)
        {
            for(k=j+1;k<2020;k++)
            {
                if(i+j+k==2020&&check(i)&&check(j)&&check(k))
                    cot++;
            }
        }
    }
    printf("%d",cot);
}

C(clang 3.9) 解法, 执行用时: 2ms, 内存消耗: 372K, 提交时间: 2020-07-05 14:13:05

#include<stdio.h>
int main()
{
    printf("15724");
}

C++11(clang++ 3.9) 解法, 执行用时: 4ms, 内存消耗: 360K, 提交时间: 2020-07-05 14:28:07

#include<stdio.h>
int main(){
    printf("15724");
}

上一题