6.6  숫자 놀이

여러 가지 형태의 수들의 놀이가 있다; 그 중 몇몇은 중세 시대로 거슬러 올라간다. 숫자 놀이의 대부분은 수론적 측면에서 약간의 이론적인 중요성을 가진다. 더 정확히 말하면, 그것들은 낱말 맡추기 퍼즐류의 수를 가지고 푸는 마방진 같은 것이다. 우리는 그것들 몇 개를 예로 들어 설명할 것이다.

집으로 전보를 보내는 한 대학생의 긴급한 간청을 들어보자:

S E N D

M O R E

M O N E Y  .

이 도식을 4자리 숫자, SEND 와 MORE의 합이 MONEY가 되는 덧셈으로 생각해보자. 각 문자들은 서로 다른 숫자를 나타낸다. 문제는 이 숫자들이 무엇인지 결정하는 것이다. 단지 10개의 숫자들이 있기 때문에, 이런 문제들에서는 기껏해야 서로 다른 10개의 문자들이 있을 수 있다. 위의 예에서는 8개가 있다. 이상적인 형태에서, 그 문제는 하나의 해를 가진다.

위의 예에서, S와 M은 9보다 더 크지 않고, M은 S[eqn: +]M 또는 S[eqn: +]M[eqn: +1]의 첫 번째 자리 수이기 때문에 M[eqn: =1]이어야 한다. 그 때 S는 두가지 경우가 있다: S[eqn: +]1 또는 S[eqn: +1+1]은 두 번째 자리 수이기 때문에, S[eqn: =9] 또는 S[eqn: =8]이다.

먼저 S가 [eqn: 8]이 될 수 없음을 보일 것이다; 만약 S가 [eqn: 8]이라면, 천 단위의 덧셈에서 S[eqn: +]M[eqn: +1 = 8+1+1=10]로 되려면 백의 자리에서 한자리 올라 가져야 한다. 그래서 O 는 [eqn: 0] 이어야 하고 메시지는

8 E N D

1 [eqn: 0] R E

1 [eqn: 0] N E Y

로 읽어 진다.

그렇지만 백의 자리를 관찰해보면, 십의 자리로부터 한 자리 올림을 받아야 하고(그렇지 않다면 E[eqn: +0=]E([eqn: !=]N) ),  E[eqn: LEQ 9]이기 때문에,

E[eqn: +][eqn: 0][eqn: +1 = 10].

이것은 N[eqn: =0]을 이끌어 낸다; 그러나 이미 O[eqn: =0]이므로 모순이 된다. 그래서

S[eqn: =9],

그리고 메시지는

9 E N D

1 [eqn: 0] R E

1 [eqn: 0] N E Y.

E[eqn: !=]N 이기 때문에, 백의 자리의 덧셈은

E[eqn: +][eqn: 1][eqn: =]N,

그리고

9   E  E[eqn: +][eqn: 1]  D

1   0    R   E

1  0  E[eqn: +][eqn: 1]  E   Y.

십의 자리의 덧셈은

E[eqn: +1+]R[eqn: =10+]E   또는   E[eqn: +1+]R[eqn: +1=10+]E.

첫 번쨰 경우는 R[eqn: =9]이고 이것은 S[eqn: =9]라는데 모순이므로 불가능하다. 두 번째 경우는 R[eqn: =8]이고 메세지는

9   E   E[eqn: +][eqn: 1]  D

1   0    8    E

1   0  E[eqn: +][eqn: 1]  E    Y.

마지막으로, 일의 자리의 합은

D[eqn: +]E[eqn: =10+]Y.

세 개의 문자 D, E, Y의 값은 [eqn: 2,&3,&4,&5,&6,&7]이 가능하다. 이 중 둘의 합은 기껏해야 [eqn: 13]이므로 Y[eqn: =2] 또는 Y[eqn: =3]이다. 후자는 불가능한데 그 이유는 D[eqn: +]E[eqn: =13]으로 E[eqn: =7]이 나와 N[eqn: =]E[eqn: +1=8=]R이 되기 때문이다; 그렇지 않으면 D[eqn: =7], E[eqn: =6]이고

N[eqn: =]E[eqn: +1=7=]D.

그래서 Y[eqn: =2] 이고 D[eqn: +]E[eqn: =12]. 가능한 숫자는 [eqn: 2,&3,&4,&5,&6,&7]이고 합이 [eqn: 12]가 되는 두 수는 [eqn: 5]와 [eqn: 7] 뿐이다. E[eqn: !=7]이므로 D[eqn: =7,] E[eqn: =5] 이고 문제의 유일한 답은

9 5 6 7

1 0 8 5

1 0 6 5 2 .

이 과정은 굉장히 정교하다; 많은 경우 훨씬 더 쉽게 답을 찾을 수 있다.

문제 셋트 6.6

우리가 방금 소개했던 방법으로 다음 예들을 분석해보라.

1.    S E N D                               4.    A D A M

M O R E                                       A N D

G O L D                                        E V E

M O N E Y                                          O N

A

2.  H O C U S                                    R A F T

P O C U S

P R E S T O                              5.    S E E

S E E

3.  F O R T Y                                   S E E

T E N                                   Y E S

T E N                                 E A S Y

S I X T Y

더 원한다면, 자신이 문제를 만들어 보아라. 만약 컴퓨터에 친숙하다면, 이와 같은 문제들의 해답을 프로그래밍 하는 방법을 고안해 보아라.