找满足条件的等式

Description

在上面的圆圈中填入0~9的数字,使得等式成立,但整个等式中不能有重复的数字。
按照前面三个圆圈中的数从小到大的顺序输出,对于前面相同的,再按照后面数从小到大的顺序。
另外对于103+469=572,虽然469+103=572也是成立的,但不输出这类的等式。

Input

Output
每行一个等式,最后一行有回车

Sample Input

Sample Output
103+469=572
103+479=582
……

//找满足条件的等式
#include<stdio.h>
int main()
{
    int x,y,z,a,b,c,d,e,f,g,h,i;
    for(x=102; x<=987; x++)
    {
        a=x/100;
        b=x/10%10;
        c=x%10;
        if(a!=b&&a!=c&&b!=c)
        {
            for(y=x; y<=987; y++)
            {
                d=y/100;
                e=y/10%10;
                f=y%10;
                if(d!=e&&d!=f&&e!=f)
                {
                    if(a!=d&&a!=e&&a!=f&&b!=d&&b!=e&&b!=f&&c!=d&&c!=e&&c!=f)
                    {
                        z=x+y;
                        if(z<1000)
                        {
                            g=z/100;
                            h=z/10%10;
                            i=z%10;
                            if(g!=h&&g!=i&&h!=i)
                            {
                                if(a!=g&&a!=h&&a!=i&&b!=g&&b!=h&&b!=i&&c!=g&&c!=h&&c!=i)
                                {
                                    if(d!=g&&d!=h&&d!=i&&e!=g&&e!=h&&e!=i&&f!=g&&f!=h&&f!=i)
                                    {
                                        printf("%d+%d=%d\n",x,y,z);
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值