三羊献瑞
观察下面的加法算式:
祥 瑞 生 辉
+ 三 羊 献 瑞
-------------------
三 羊 生 瑞 气
(如果有对齐问题,可以参看【图1.jpg】)
其中,相同的汉字代表相同的数字,不同的汉字代表不同的数字。
请你填写“三羊献瑞”所代表的4位数字(答案唯一),不要填写任何多余内容。
答案:1085
思路:暴力解决
每一个字母代替一个数字,其中a、e不能为0.
注意答案是efgb,而非abcd!
代码:
#include<iostream>
using namespace std;
int main()
{
for(int a=1; a<10; a++)
{
for(int b=0; b<10; b++)
{
if(a!=b)
{
for(int c=0; c<10; c++)
{
if(c!=a&&c!=b)
{
for(int d=0; d<10; d++)
{
if(d!=a&&d!=b&&d!=c)
{
for(int e=1; e<10; e++)
{
if(e!=a&&e!=b&&e!=c&&e!=d)
{
for(int f=0; f<10; f++)
{
if(f!=a&&f!=b&&f!=c&&f!=d&&f!=e)
{
for(int g=0; g<10; g++)
{
if(g!=a&&g!=b&&g!=c&&g!=d&&g!=e&&g!=f)
{
for(int h=0; h<10; h++)
{
if(h!=a&&h!=b&&h!=c&&h!=d&&h!=e&&h!=f&&h!=g)
{
int sum1=a*1000+b*100+c*10+d;
int sum2=e*1000+f*100+g*10+b;
int sum=e*10000+f*1000+c*100+b*10+h;
if(sum1+sum2==sum)
{
cout<<sum1<<endl;
cout<<sum2<<endl<<sum<<endl;
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
return 0;
}
结果截图: