【问题描述】
观察下面的加法算式:
其中,相同的汉字代表相同的数字,不同的汉字代表不同的数字。
【答案提交】
请你填写“三羊献瑞”所代表的4位数字(答案唯一),不要填写任何多余内容。
解题思路: 以字母替代原式,然后逐个枚举就行
题解:
#include <cstdio>
#include <cstring>
#include <iostream>
#include <algorithm>
using namespace std;
int main()
{
for(int a = 1; 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 = 1; e <= 9; e ++)
for(int f = 0; f <= 9; f ++)
for(int g = 0; g <= 9; g ++)
for(int h = 0; h <= 9; h ++)
{
if(a != b && a != c && a != d && a != e && a != f && a != g && a != h
&& b != c && b != d && b != e && b != f && b != g && b != h
&& c != d && c != e && c != f && c != g && c != h
&& d != e && d != f && d != g && d != h
&& e != f && e != g && e != h
&& f != g && f != h
&& g != h )
if((a+e)*1000 + (b+f)*100 + (c+g)*10 + d + b == e*10000 + f*1000 + c*100 + b*10 + h)
printf("%d%d%d%d\n", e, f, g, b);
}
return 0;
}
答案:1085