請寫一個程式破解如下的字謎:
VINGT
CINQ
+ CINQ
------------
TRENTE
(每一個字母代表一個0~9之中的相異的數,且首位不為0)
解:
這種問題自己找到的線索越多,程式就能越簡易,
而以這題來說其實仔細思考就可以得到答案了XD。
1. 首先I+C+C就算有進位也就是1或2,到V那位以後最多就是是進位1,
所以T=1,而V=8或9。此時R因為進位的關係要嘛是0,要嘛是1,
但又不能重複,所以R=0。
2. 2I+N+(從前一位的進位)後,必然有進位,而前一位進位只能是0或2。
(如果是1的話會造成I有小數點從而不符)
如果前一位進位是0的話,I=5(∵2I+N=10+N),
從第一位來看,T+2Q=E,E和T一樣應該是奇數,
但從I+C+C+1=E來看,E為偶數,矛盾。
∴前一位進位只能是2。
∴2I+N+2 = 10+N 或 2I+N+2=20+N
I=4 或 I=9
3. 若I=9,則V=8。(From 1.) 現在式子長這樣:
222 (進位)
-----------
89NG1
C9NQ
+ C9NQ
------------
10EN1E
∴9+2C+2=20+E => 2C=9+E => C=6, E=3或C=7, E=5
如果C=6, E=3 => Q=1或6 矛盾,所以C=7,E=5。
因為E=5,所以Q=2(Q=7不服) 。
因此G+2N=21=>G為奇數,但1579都被用了,所以只剩G=3的可能。
3+2N=21 => N=9,矛盾。
所以I=9的假設是錯誤的!
4. T=1,R=0,I=4,V=8 or 9
2 (進位)
-----------
V4NG1
C4NQ
+ C4NQ
------------
10EN1E
N+4+4+2=N+10,所以進1到下一位數。
2C+5=E+10或E+20,C等於6、7、8、9其中之一。
C=7的話 => E=9、V=9 (X)
C=8的話 => E=1 (X)
C=9的話 => E=3、V=8、Q=6,但1+G+2N=21,
G為偶數只能是2=>N=9 (X)
所以只剩下C=6的可能性。
5.
112 (進位)
-----------
V4NG1
64NQ
+ 64NQ
------------
10EN1E
明顯可以看出V=9,E=7。 => Q=3或8
Q=8的話=>1+G+2N=21,G為偶數只能是2=>N=9 (矛盾)
∴ Q=3 => G+2N=21,G為奇數只能是5=>N=8
6.全部推完的結果: R=0、T=1、Q=3、I=4、G=5、C=6、E=7、N=8。
11200 (進位)
-----------
94851
6483
+ 6483
------------
107817
沒有留言:
張貼留言