PTA:三连击 (15分)(C语言)

本题为提交答案题,您可以写程序或手算在本机上算出答案后,直接提交答案文本,也可提交答案生成程序。

将1,2, ··· ,9共9个数分成3组,分别组成3个三位数,且使这3个三位数构成1:2:3的比例,试求出所有满足条件的3个三位数。

输入格式:
木有输入

输出格式:
若干行,每行3个数字。按照每行第1个数字升序排列。

输入样例:

输出样例:
192 384 576


#include <stdio.h>

int judge(int a, int b, int c);

int main()
{
    int a, b, c;
    for (a = 123; a <= 333; a++)
    {
        b = a*2;
        c = a*3;
        if(judge(a, b, c))
            printf("%d %d %d\n", a, b, c);
    }

    return 0;
}
int judge(int a, int b, int c)
{
    int ok = 1;
    int ch[10] = {0};
    while(a)
    {
        ch[a%10]++;
        a /= 10;
    }
     while(b)
    {
        ch[b%10]++;
        b /= 10;
    }
     while(c)
    {
        ch[c%10]++;
        c /= 10;
    }
    for (int i = 1; i <= 9; i++)
    {
        if (ch[i] == 0)
            ok = 0;
    }
    
    return ok;
}
发布了58 篇原创文章 · 获赞 21 · 访问量 601

猜你喜欢

转载自blog.csdn.net/qq_45624989/article/details/105399630