观察下面的加法算式:
祥 瑞 生 辉
- 三 羊 献 瑞
三 羊 生 瑞 气
其中,相同的汉字代表相同的数字,不同的汉字代表不同的数字。
请你填写“三羊献瑞”所代表的4位数字(答案唯一),不要填写任何多余内容。
答案:1085
#include <iostream>
#include <algorithm>
using namespace std;
void solve()
{
int num[] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9};
do {
int a = num[0]*1000 + num[1]*100 + num[2]*10 + num[3];
int b = num[4]*1000 + num[5]*100 + num[6]*10 + num[1];
int c = num[4]*10000 + num[5]*1000 + num[2]*100 + num[1]*10 + num[7];
if (a + b == c && b > 1000) {
cout << b << endl;
}
} while (next_permutation(num, num+10));
}
int main()
{
solve();
return 0;
}