#2015藍橋杯-3.三羊獻瑞
阿新 • • 發佈:2021-01-30
觀察下面的加法算式:
其中,相同的漢字代表相同的數字,不同的漢字代表不同的數字。
請你填寫“三羊獻瑞”所代表的4位數字(答案唯一),不要填寫任何多餘內容。
//一共用到了九個不同的數字 #include<iostream> #include<string> using namespace std; int main() { for(int a = 1; a <= 9; a++) for(int b = 0; b <= 9; b++) if(a != b) for(int c = 0; c <= 9; c++) if(c != a && c != b) for(int d = 0; d <= 9; d++) if(d != a && d != b && d != c)///第一個數完畢 for(int e = 1; e <= 9; e++) if(e != a && e != b && e != c && e != d) for(int f = 0; f <= 9; f++) if(f != a && f != b && f != c && f != d && f != e) for(int g = 0; g <= 9; g++) if(g != a && g != b && g != c && g != d && g != e && g != f) for(int h = 0; h <= 9; h++) if(h != a && h == b && h != c && h != d && h != e && h != f && h != g) for(int x = 0; x <= 9; x++) if(x != a && x != b && x != c && x != d && x != e && x != f && x != g && x != h) { int A = a *1000 + b *100 + c *10 + d; int B = e *1000 + f *100 + g *10 + h; int C = e *10000 + f *1000 + c *100 + b *10 + x; if(C == A + B) { printf("%d\n", B); printf("%d %d %d %d", e, f, g, b); return 0; } } printf("沒有!"); return 0; } temp = (a *1000 + b *100 + c *10 + d) + (e *1000 + f *100 +g *10 + b); if(temp/10000 == e && (temp%10000)/1000 == f && (temp/1000)/10 == g && (temp/10)%10 == b) printf("%d\n", temp); } return 0; }