標題:觀察下面的加法算式:
其中,相同的漢字代表相同的數字,不同的漢字代表不同的數字。
請你填寫“三羊獻瑞”所代表的4位數字(答案唯一),不要填寫任何多余內容。
思路分析:
首先,每個字代表一個數(0~9),由題可知,四位數+四位數=五位數,最高位肯定為1,也就是說,三
這個漢字所對應的數為1。
然后,將不同的漢字分別對應一個數組中一個元素,即
a[0]=祥 a[1]=瑞 a[2]=生 a[3]=輝 a[4]=羊 a[5]=獻 a[6]=氣
做題思路就是,將該數組進行全排列,以次拿三個數分別存這三個漢字做代表的數,若兩者相加等于第三者,即結束,將三個數給以次輸出找到,最后,將“三羊獻瑞”所代表的4位數字給找到即可。
代碼如下:
#include<iostream>
#include<algorithm>using namespace std;int main(){int x[]={0,1,2,3,4,5,6,7,8,9};int a,b,c;do{if(x[0]!=0){a=x[0]*1000+x[1]*100+x[2]*10+x[3];b=1000+x[4]*100+x[5]*10+x[1];//三 對應的數為1,千位上的數是 三 也就是1c=10000+x[4]*1000+x[2]*100+x[1]*10+x[6];//同理}if(a+b==c)break;}while(next_permutation(x,x+10));//將數組里的數進行全排列cout<<a<<endl;//輸出祥瑞生輝cout<<b<<endl;//輸出三羊獻輝cout<<c<<endl;//輸出三羊生輝氣return 0;
}