破解四位密码的问题。

** 破解四位密码**

img


1.四位数都不同
2.千位数是十位数的三倍
3.整个数字是奇数
4.所有数字和是27

代码如下
#include
int main()
{
int a=1, b=3, c=5, d=7;
for (;;)
{
a++;
b++;
c++;
d++;
if (a>9)
a =0;
if (b>9)
b = 0;
if (c>9)
c = 0;
if (d>9)
d = 0;
if (a != b && b != c && c != d && a == 3 * c && (1000 * a + 100 * b + 10 * c + d) % 2 != 0 && a + b + c + d == 27) break;

}

printf("四位密码是%d%d%d%d\n", a, b, c, d);
return 0;

}
** 运行结果及报错内容 **
printf无法输出结果
** 我的解答思路和尝试过的方法 **
a,b,c,d初值是随便赋的,但觉得应该不太对

下面是最笨的方法,所有遍历一遍,找出来满足条件的打印出来。
结果是9837


#include<stdio.h>
int main()
{
    int a,b,c,d;
    for(a=0; a<10; a++)
        for(b=0; b<10; b++)
            for(c=0; c<10; c++)
                for(d=1; d<10; d+=2)
                {
                    if(a!=b && b!=c && c!=d && d!=a)
                        if(a==(3*c))
                            if((a+b+c+d)==27)
                            {
                                printf("%d %d %d %d",a,b,c,d);
                            }
                }

}

这道题没有符合的数