三羊献瑞
观察下面的加法算式:
祥 瑞 生 辉
+ 三 羊 献 瑞
----------------------
三 羊 生 瑞 气
其中,相同的汉字代表相同的数字,不同的汉字代表不同的数字。
观察下面的加法算式:
祥 瑞 生 辉
+ 三 羊 献 瑞
----------------------
三 羊 生 瑞 气
其中,相同的汉字代表相同的数字,不同的汉字代表不同的数字。
请你填写“三羊献瑞”所代表的4位数字(答案唯一),不要填写任何多余内容。
#include <stdio.h>
int Mark[9] = {};
void dfs(int a[],int i)
{
if(i == 8)
{
if(a[0] == 0 || a[4] == 0);
else
if( ( 1000*a[0] + 100*a[1] + 10*a[2] + a[3] )+ ( 1000*a[4] + 100*a[5] + 10*a[6] + a[1] ) == 10000 * a[4] + 1000*a[5] + 100*a[2] + 10*a[1] + a[7] )
{
printf(" %d%d%d%d\n",a[0],a[1],a[2],a[3]);
printf("+ %d%d%d%d\n",a[4],a[5],a[6],a[1]);
printf("--------\n");
printf(" %d%d%d%d%d\n\n",a[4],a[5],a[2],a[1],a[7]);
}
}
else
{
int j;
for(j = 0; j <= 9; j ++)
{
if(Mark[j] == 0)
{
Mark[j] = 1;
a[i] = j;
dfs(a,i+1);
Mark[j] = 0;
}
else
continue;
}
}
}
int main( void )
{
int a[8] = {};
dfs(a,0);
return 0;
}
所以答案为 1085