题目描述
观察下面的加法算式:
其中,相同的汉字代表相同的数字,不同的汉字代表不同的数字。
请你填写“三羊献瑞”所代表的4位数字(答案唯一),不要填写任何多余内容。
输出
请你填写“三羊献瑞”所代表的4位数字(答案唯一),不要填写任何多余内容。
来源/分类
题解
将数组a[10]={0,1,2,3,4,5,6,7,8,9}全排列
//三 -> a[0]
//羊 -> a[1]
//献 -> a[2]
//瑞 -> a[3]
//祥 -> a[4]
//生 -> a[5]
//辉 -> a[6]
//气 -> a[7]
所以该算式可以表示为
代码如下
#include<cstdio>
#include<iostream>
#include<algorithm>
using namespace std;
using namespace std;
int a[10]= {0,1,2,3,4,5,6,7,8,9};
int main()
{
int y=0;
do
{
if(a[0]!=0&&a[4]!=0)
{
int x=a[4]*1000+a[3]*100+a[5]*10+a[6];
y=a[0]*1000+a[1]*100+a[2]*10+a[3];
int z=a[0]*10000+a[1]*1000+a[5]*100+a[3]*10+a[7];
if(z==x+y)
break;
}
}
while(next_permutation(a,a+10));
printf("%d\n",y);
return 0;
}