藍橋杯之三羊獻瑞


三羊獻瑞

觀察下面的加法算式:

祥 瑞 生 輝
+ 三 羊 獻 瑞
-------------------
三 羊 生 瑞 氣

(如果有對齊問題,可以參看【圖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.應該還能更簡潔點。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM