观察下面的加法算式:
祥瑞生辉
+ 三羊献瑞
----------------
三羊生瑞气
其中,相同的汉字代表相同的数字,不同的汉字代表不同的数字。
请你编程输出“三羊献瑞”所代表的4位数字(答案唯一)。
这题就不多说了吧,就全排列就行了
#include<iostream>
#include<algorithm>
using namespace std;
int a[10]={0,1,2,3,4,5,6,7,8,9};
//三 0羊1 献2 瑞3 祥4 生5 辉6 气7
int main(){
do{
if((a[4]*1000+a[3]*100+a[5]*10+a[6])+
(a[0]*1000+a[1]*100+a[2]*10+a[3])==
(a[0]*10000+a[1]*1000+a[5]*100+a[3]*10+a[7]))
{
if(a[0]!=0&&a[4]!=0)
cout<<a[0]<<a[1]<<a[2]<<a[3];
}
}while(next_permutation(a,a+10));
return 0;
}