[讨论]这个小题目有没有什么好的解决方法?
/*有一道很小学的题目,问题如下:
A B
C D
E F
+ G H
------
I I I
上述加法式子中A~I分别分0~9,你知道它们分别为多少吗?
关于这个题目稍作尝试就能得出一堆答案,一般常与计算机打交道的人都想把这种繁琐的事情交给计算机去做,
下面是我的程序,不知道有没有更好的方法,大家可以来交流一下啊...
*/
#include<iostream>
#include<algorithm>
using namespace std;
int main()
{
int a,b,c,d,e,f,g,h,i;
int sum=0;
int A[10]={0,1,2,3,4,5,6,7,8,9};
do
{
a=A[0];
b=A[1];
c=A[2];
d=A[3];
e=A[4];
f=A[5];
g=A[6];
h=A[7];
i=A[8];
if((a+c+e+g)*10+b+d+f+h==i*100+i*10+i && a*c*e*g!=0)
{
cout<<a<<" "
<<b<<" "
<<c<<" "
<<d<<" "
<<e<<" "
<<f<<" "
<<g<<" "
<<h<<" "
<<i<<" "<<endl;
sum++;
}
}while(next_permutation(A,A+10));
cout<<"所有的可能为:"<<sum<<endl;
return 0;
}