三羊献瑞
观察下面的加法算式:
祥 瑞 生 辉
+三 羊 献 瑞
-------------------
三 羊 生 瑞 气
其中,相同的汉字代表相同的数字,不同的汉字代表不同的数字。
请你填写“三羊献瑞”所代表的4位数字(答案唯一),不要填写任何多余内容。
两个四位数相加得到一个五位数,显然“三”是1,“祥”至少是8.
所以现在只有7个未知数:祥(a) , 瑞(b), 生( c), 辉(d), 羊(e), 献(f), 气(g).
直接暴力就可以解决
#include<iostream>
using namespace std;
int main ()
{
for (int a=8;a<=9;a++)
{
for (int b=0;b<=9;b++)
{
for (int c=0;c<=9;c++)
{
for (int d=0;d<=9;d++)
{
for (int e=0;e<=9;e++)
{
for (int f=0;f<=9;f++)
{
for (int g=0;g<=9;g++)
{
if (a!=b&&a!=c&&a!=d&&a!=e&&a!=f&&a!=g&&
b!=c&&b!=d&&b!=e&&b!=f&&b!=g&&
c!=d&&c!=e&&c!=f&&c!=g&&
d!=e&&d!=f&&d!=g&&
e!=f&&e!=g&&
f!=g)
{
if (a*1000+b*100+c*10+d+1*1000+e*100+f*10+b==1*10000+e*1000+c*100+b*10+g)
{
cout<<1*1000+e*100+f*10+b<<endl;
return 0;
}
}
}
}
}
}
}
}
}
return 0;
}