观察下面的加法算式:
其中,相同的汉字代表相同的数字,不同的汉字代表不同的数字。
请你填写“三羊献瑞”所代表的4位数字(答案唯一),不要填写任何多余内容。
输出
请你填写“三羊献瑞”所代表的4位数字(答案唯一),不要填写任何多余内容。
每个相同的汉字代表相同的数字,这些数字都是在0~9中选, 因此可以枚举所有的数字,对于每一位进行选择,使用STL全排列函数
#include <iostream>
#include <algorithm>
using namespace std;
int main()
{
int a[10] = {0,1,2,3,4,5,6,7,8,9};
do
{
int s1,s2,s3;
if (a[0]&&a[4])
{
s1 = a[0] * 1000 + a[1] * 100 + a[2] * 10 + a[3];
s2 = a[4] * 1000 + a[5] * 100 + a[6] * 10 + a[1];
s3 = a[4] * 10000 + a[5] * 1000 + a[2] * 100 + a[1] * 10 + a[7];
}
if (s1 + s2 == s3)
{
cout << s2 << endl;
break;
}
}while (next_permutation(a, a + 10));
return 0;
}