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);
}
}
}
}
}
}
}
}
}
}