第六屆藍橋杯【省賽試題3】三羊獻瑞
阿新 • • 發佈:2019-02-07
題目描述:
觀察下面的加法算式:
其中,相同的漢字代表相同的數字,不同的漢字代表不同的數字。
請你填寫“三羊獻瑞”所代表的4位數字(答案唯一),不要填寫任何多餘內容。
題目答案:
1085
題目思路:
題目用8個不同的漢字來代表八個不同的數字(0-9的任意一位數字),容易想要0-9的全排列,規定每個文字代表一個數字即可,其中,詳,三不能為0;如果不會用全排列,可以巢狀一堆for迴圈,進行判斷。這裡給出程式碼進行參考:
題目程式碼:
#include<iostream> #include<algorithm> using namespace std; int a[10]; int main(){ //初始化數字0-9 for(int i=0 ;i<10 ;i++)a[i]=i; do{ if(!a[7]||!a[0])continue; int x = a[7]*1000+a[3]*100+a[5]*10+a[6]; int 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[4]; //條件判斷 if(z==(x+y)){ cout<<y<<endl; break; } }while(next_permutation(a,a+10)); return 0; }