三羊獻瑞
觀察下面的加法算式:
祥 瑞 生 輝
+ 三 羊 獻 瑞
-------------------
三 羊 生 瑞 氣
(如果有對齊問題,可以參看【圖1.jpg】)
其中,相同的漢字代表相同的數字,不同的漢字代表不同的數字。
請你填寫“三羊獻瑞”所代表的4位數字(答案唯一),不要填寫任何多余內容。
#include<iostream> #include<algorithm> using namespace std; int main() { int a[] = {0,1,2,3,4,5,6,7,8,9}, c,d,e; do { if(a[0] != 0 && a[4] != 0) { c = a[0] * 1000 + a[1] * 100 + a[2] * 10 + a[3]; d = a[4] * 1000 + a[5] * 100 + a[6] * 10 + a[1]; e = a[4] * 10000 + a[5] * 1000 + a[2] * 100 + a[1] *10 + a[7]; if(c+d == e) break; } }while(next_permutation(a,a+10)); cout << d <<endl; }
直接暴力模擬,剛開始沒去想 三 是可以算出來了的,兩個4位數相加,得到一個5位數,他的最高位一定是1.應該還能更簡潔點。