맨위로가기

복면산

"오늘의AI위키"는 AI 기술로 일관성 있고 체계적인 최신 지식을 제공하는 혁신 플랫폼입니다.
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.

1. 개요

복면산은 각 문자가 0부터 9까지의 서로 다른 숫자를 나타내는 수학 퍼즐로, 덧셈, 곱셈 등 다양한 연산 형태로 제시된다. 1931년 "복면산"이라는 이름이 붙여졌으며, 알파벳 셈, 숫자 셈, 뼈대 나눗셈 등 여러 유형이 존재한다. 알파벳 셈은 단어를 숫자로 대체하여 유효한 산술 합계를 만드는 유형으로, SEND + MORE = MONEY와 같은 예시가 있다. 복면산은 손으로 풀거나, 컴퓨터를 이용하여 무차별 대입 또는 백트래킹 알고리즘을 통해 해결할 수 있다. 복면산을 제작할 때는 문자 수, 자릿수, 중복 문자 사용 등을 고려해야 하며, 수사 복면산, 복합 복면산 등 다양한 변형이 존재한다.

더 읽어볼만한 페이지

  • 퍼즐 - 다른 그림 찾기
    다른 그림 찾기는 거의 동일한 두 그림에서 시각적 비교 등을 통해 서로 다른 부분을 찾아내는 퍼즐이다.
  • 퍼즐 - 몬티 홀 문제
    몬티 홀 문제는 세 개의 문 중 하나를 선택한 후 진행자가 상품이 없는 문을 열어 보여줄 때, 선택을 바꾸는 것이 유리한지를 묻는 확률 문제로, 직관과 달리 선택을 바꾸는 것이 당첨 확률을 높이는 전략임을 보여주는 확률 역설이며, 의사 결정 방식에 대한 통찰을 제공한다.
복면산
개요
종류수수께끼
분야수학, 논리학
관련 항목암호학, 수학 퍼즐
설명
정의복면산(覆面算) 또는 문자 산술(文字算術, 영어: verbal arithmetic, alphametics, cryptarithmetic)은 숫자로 나타내어지는 수학 퍼즐의 일종이다.
각 글자는 하나의 숫자를 나타내고, 결과적으로 올바른 산술 연산이 되도록 글자를 대체하는 것으로 구성된다.
규칙각 문자는 0에서 9까지의 숫자 중 하나를 나타낸다.
같은 문자는 같은 숫자를 나타내고, 다른 문자는 다른 숫자를 나타낸다.
맨 앞자리의 숫자는 0이 될 수 없다.
풀이 방법논리적 추론과 시행착오를 통해 푼다.
각 문자가 나타낼 수 있는 숫자의 범위를 좁혀가면서 가능한 답을 찾는다.
예시
SEND + MORE = MONEY9567 + 1085 = 10652
위의 예시에서, 각 문자는 다음과 같은 숫자를 나타낸다.
S = 9, E = 5, N = 6, D = 7, M = 1, O = 0, R = 8, Y = 2
다른 예시`I + LOVE = DORA`
`SO + MANY + MORE = MONEY`
`BASE + BALL = GAMES`
`CROSS + ROADS = DANGER`
`SATURN + URANUS + NEPTUNE + PLUTO = PLANETS`
역사
기원복면산의 기원은 정확히 알려져 있지 않지만, 19세기 초부터 다양한 형태로 존재했다.
1924년 Henry Dudeney가 "SEND + MORE = MONEY" 퍼즐을 발표하면서 대중적으로 알려지게 되었다.
다른 이름문자 산술 (文字算術)
알파메틱스 (alphametics)
크립트산술 (cryptarithmetic)
참고 자료
관련 링크Verbal arithmetic - Wikipedia
Alphametics -- from Wolfram MathWorld
관련 서적Madachy, Joseph S. Madachy's Mathematical Recreations. New York: Dover, pp. 167-175, 1979.

2. 역사

복면산 퍼즐은 역사가 꽤 오래되었지만, 누가 발명했는지는 알려져 있지 않다. 1864년의 예시가 《아메리칸 농업가(The American Agriculturist)》에 실려 있는데, 이는 샘 로이드가 발명했다는 통념을 깨뜨린다.[2] "복면산"이라는 이름은 1931년 5월 벨기에의 수학 오락 잡지인 스핑크스(Sphinx)에서 퍼즐 작가 미노스(Minos, 시몽 바트리캉의 필명)가 처음 사용했으며, 1942년 모리스 크라이치크가 "cryptarithmetic"으로 번역했다.[3] 1955년, J. A. H. 헌터는 문자들이 의미있는 단어나 구절을 형성하는 복면산을 지칭하기 위해 "알파메틱"이라는 단어를 도입했다.[4]

3. 규칙


  • 각 문자는 0부터 9까지의 서로 다른 숫자를 나타낸다. (같은 문자는 같은 숫자, 다른 문자는 다른 숫자를 사용)[1]
  • 가장 왼쪽에 있는 문자(최상위 숫자)는 0이 될 수 없다.[2]
  • * 한 자리 수의 경우에도 최상위 숫자로 간주하여 0을 사용하지 않는 것이 일반적이지만, 한 자리 수의 경우에는 0을 허용하는 경우도 있다.
  • 문제에 제시된 숫자를 문자에 대입할 수도 있다.[3]

4. 유형

암호 셈에는 알파벳 셈, 숫자 셈, 뼈대 나눗셈 등의 유형이 있다.


  • 알파벳 셈은 문자들을 숫자로 대체하여 유효한 산술 계산을 만드는 방식이다.
  • 숫자 셈은 숫자가 다른 숫자를 나타내는 암호 셈이다.
  • 뼈대 나눗셈은 대부분의 숫자가 기호로 대체된 나눗셈 문제로, 리처드 파인만의 뼈대 나눗셈 퍼즐이 잘 알려져 있다.[5]

4. 1. 알파벳 셈 (Alphametic)

알파벳 문자를 사용하여 덧셈, 뺄셈, 곱셈, 나눗셈 등의 수식을 표현하는 복면산이다. 특히, 각 항이 의미 있는 단어로 구성된 경우를 '''워드 복면산'''이라고 부른다.[9][10]

  • SEND + MORE = MONEY

: 이 문제와 같이 뜻이 있는 문장을 이루는 경우를 특별히 alphametic이라 구별하여 부르기도 한다.

: 답: D = 7, E = 5, M = 1, N = 6, O = 0, R = 8, S = 9, Y = 2

  • FORTY + TEN + TEN = SIXTY

: 문장 자체가 참인 등식을 뜻할 경우를 특별히 이중으로 옳은 복면산(doubly true alphametic)이라 부른다.

: 답: E = 5, F = 2, I = 1, N = 0, O = 9, R = 7, S = 3, T = 8, X = 4, Y = 6

예시를 들면 다음과 같다.

  • 바나나 + 바나나 = 시나몬


곱셈 워드 복면산의 경우 A × B = C 형식의 것과, 세로셈으로 표기되어 중간의 곱셈 결과도 모두 의미 있는 단어인 것이 있다.

각각의 예를 하나씩 든다.

  • 물 × 물 = 음료수


```

오미야

× 오미야

  • ----

오이마치

요코하마

  • ----

하마마츠초

```

위의 예시는 일본어의 예시이며, 한국어의 예시는 다음과 같다.

```



× 물

  • ---

음료수

4. 2. 숫자 셈

숫자가 다른 숫자를 나타내는 데 사용되는 암호 셈이다.[5]

4. 3. 뼈대 나눗셈 (Skeleton Division)

대부분 또는 모든 숫자가 기호(일반적으로 별표)로 대체되어 암호 셈을 형성하는 나눗셈이다.[5]


4. 4. 수사 복면산 (Doubly True Alphametic)

워드 복면산 중, 각 항이 숫자를 나타내는 단어로 되어 있으며, 그 숫자의 계산도 올바른 것을 '''수사 복면산'''이라고 부른다.[11]

예시는 다음과 같다.

  • third + third + third + seven = eight

: (1/3 + 1/3 + 1/3 + 7 = 8 이 되어, 올바른 식이다.)

다니 페라이・타무라 사부로 등에 의해, 컴퓨터에 의한 검토가 이루어져, 많은 작품이 발표되고 있다.

4. 5. 복합 복면산

워드 복면산 중, 각 워드는 그대로 두고 연산 기호만 바꿔서 두 개 이상의 복면산이 되는 것을 '''복합 복면산'''이라고 부른다.[12]

4. 6. Word Arithmetic

복면산 중, 사용된 문자를 대응하는 숫자의 순서대로 나열하면 짧은 문구가 나타나는 것을 '''Word Arithmetic'''이라고 부른다.[13] 모든 숫자를 소진하기 위해 나눗셈의 세로셈 형태로 출제되는 경우가 많다.

다음은 예시이다.

    '''이시키'''

'''시레이''')'''테츠테이테키'''

우테호키 

인시테

테호우테 

이츠레키

이리테츠

호테

제수(나누는 수)・피제수(나눠지는 수)・몫의 3가지(예제의 굵은 글씨 부분)는 의미가 있는 단어로 하는 경우가 많다.

4. 7. 기하 무늬 복면산

문자 배열에 착안하여 같은 문자가 뭉쳐 있거나 직선으로 배열된 것을 '''기하 무늬 복면산'''이라고 한다.[14] 다음은 그 예이다.

ABA
|×ABA
|CAC
|ABA
CAC
CCDCC


4. 8. 초고층 복면산

더하는 항의 수가 많은 복면산을 '''초고층 복면산'''[15] 또는 '''초대형 복면산'''[16]이라고 부른다. 세로로 길어지는 것을 피하기 위해 곱셈 형태로 출제되는 경우가 많다. 숫자에도 의미를 부여할 수 있는 수사 복면산이 많다.

항의 수에 관한 정의는 없지만, 초고층 복면산으로 발표된 작품 중 가장 작은 것은 약 150항이다[17].

다음은 예시이다.

  • 에 × 5000 + 센 × 4 + 니센 × 8 = 산만

4. 9. 연립 복면산

연립 방정식에 빗대어 여러 개의 답이 나올 수 있는 식을 여러 개 조합하여 답이 하나로 정해지도록 한 것을 '''연립 복면산'''이라고 한다.[18] 연립 복면산에서는 다른 식에 있더라도 같은 문자는 같은 숫자, 다른 문자는 다른 숫자이다.

다음은 예시이다.

a+b+c=ab
b+b+b=c



위의 식만으로는 7개의 해(b=0을 인정하면 8개)가 존재하고, 아래의 식만으로는 3개의 해가 존재하지만, (위의 식의 b)=(아래의 식의 b), (위의 식의 c)=(아래의 식의 c)이므로 해가 하나로 결정된다.

5. 풀이 방법

복면산의 풀이 방법은 문제에 따라 다양하지만, 일반적으로 다음과 같은 방법들을 사용한다.


  • 손으로 복면산을 푸는 것은 추론과 가능한 경우를 철저하게 검토하는 방식으로 이루어진다. 예를 들어, SEND+MORE=MONEY 문제는 다음과 같이 풀 수 있다.


|SEND
+MORE
=MONEY
5열M=14열에서 두 개의 한 자리 숫자의 합에서 나올 수 있는 유일한 올림이다.
4, 5열O=05열에 올림이 있으므로 O는 M보다 작거나 같아야 한다(4열에서). 그러나 O는 M과 같을 수 없으므로 O는 M보다 작다.
3, 4열S=9O가 M보다 1 작으므로 S는 4열에 올림이 있는지 여부에 따라 8 또는 9이다. 그러나 4열에 올림이 있었다면 N은 O보다 작거나 같을 것이다. O = 0이므로 이는 불가능하다. 따라서 4열에 올림이 없다.
3열N=E+13열에 올림이 없다면 E = N인데, 이는 불가능하다. 따라서 올림이 있다.
2열R=82열에 올림이 없다면 (N + R) mod 10 = E이고, N = E + 1이므로 (E + 1 + R) mod 10 = E인데 이는 (1 + R) mod 10 = 0을 의미하며, 따라서 R = 9이다. 그러나 S = 9이므로 2열에 올림이 있어야 한다.
2열D+E=10+Y2열에 올림을 생성하려면 이여야 한다.
D=7Y는 최소 2이므로 D + E는 최소 12이다. 최소 12가 되는 사용 가능한 두 숫자는 (5, 7)과 (6, 7)이므로 E = 7 또는 D = 7이다. N = E + 1이므로 E는 7일 수 없는데, 그러면 N = 8 = R이기 때문이다.
E=5, N=6E는 6일 수 없는데, 그러면 N = 7 = D이기 때문이다.
Y=2D + E = 12이므로


  • TO+GO=OUT의 경우


|TO
+GO
=OUT
3열O=1두 개의 가장 큰 두 자리 숫자의 합은 99+99=198이다.
1열T=21열은 다른 모든 열의 오른쪽에 있으므로 올림이 있을 수 없다. 따라서 1+1=T이다.
2, 3열G=8, U=01열이 마지막 단계에서 계산되었으므로 2열에는 올림이 없다는 것을 알 수 있다. 그러나 첫 번째 단계에서 3열에 올림이 있다는 것도 알려져 있다. 따라서 2+G≥10이다. G가 9와 같다면 U는 1과 같겠지만, O도 1과 같으므로 이는 불가능하다. 따라서 만 가능하며 2+8=10+U이다.



모듈러 산술을 사용하면 도움이 될 수 있다. 예를 들어, mod-10 산술을 사용하면 덧셈 문제의 열을 연립 방정식으로 처리할 수 있으며, mod-2 산술을 사용하면 변수의 패리티를 기반으로 추론할 수 있다.

컴퓨터 과학에서 복면산은 무차별 대입 방법과 ''n''개의 가능성에서 ''m''개의 선택에 대한 모든 순열을 생성하는 알고리즘을 설명하는 좋은 예시를 제공한다. 또한 알고리즘 설계의 백트래킹 패러다임에 대한 좋은 예시를 제공한다.


  • "바나나 + 바나나 = 시나몬"을 예시 문제로 사용할 때, 다음과 같은 풀이 방식이 있다.

# 덧셈에서 합의 자릿수가 다른 자릿수보다 큰 경우에는 올림이 발생한다. 이로부터 최상위 문자를 확정(또는 좁힐) 수 있다. (예: '시'는 1)

# 각 자리에서 더하는 숫자는 같은데 합이 다른 경우, 올림이 영향을 미친다고 생각할 수 있다. (예: 일의 자리와 십의 자리가 모두 "나 + 나 = ○" 형태이지만 문자가 다름)

# 올림의 유무에 따라 문자의 범위를 좁히는 경우도 있다. ("나", "바"는 모두 5 이상)

# 같은 수를 더하면 짝수가 된다. 이것을 이용하여 문자의 가능성을 좁힐 수 있다. (예: "ン"은 짝수, "モ", "ナ"는 홀수)

# 숫자가 기호로 대체된 것을 변수로 간주하고 수식을 세워 풀 수 있다.[19] 필요에 따라 각 기호에 행 번호와 열 번호를 붙여 구분하기도 한다.[20] 수식에는 등식, 부등식, 합동식 등이 사용될 수 있다.

6. 제작 방법

복면산 제작에는 정해진 방법은 없지만, 일반적으로 다음과 같은 단계를 따른다.

1. 테마를 정하고 단어 후보를 제시한다.

2. 후보를 조합하여 식을 만든다.

3. 검산한다.

4. 해가 1개라면 완성.

5. 해가 여러 개 있거나 존재하지 않는 경우, 2번으로 돌아가 새로운 조합을 생각한다.

예를 들어, 유럽을 테마로 한 복면산을 생각해 보자.

먼저 "영국+스위스=유럽"이라는 식을 생각하면, 이것에는 해가 2개 있다. 다음에 조사를 붙여서 "영국과+스위스=유럽"이라는 식을 생각하면, 이것은 해가 3개 있다. 다음에 영국을 이탈리아로 바꿔 "이탈리아+스위스=유럽"이라는 식을 생각하면 이것은 해가 1개이다. 이것으로 하나의 문제가 완성된다.

위의 절차에서 "검산한다"라고 썼지만, 실제로는 보기만 해도 해가 없거나 여러 개가 있다는 것을 알 수 있는 경우도 많다.

다음은 대표적인 예를 나타낸다.


  • 문자 수 과다: 숫자는 10종류밖에 없으므로 11종류 이상의 문자를 사용한 문제에는 해가 없다.
  • 자릿수 부족: 합의 자릿수가 다른 것보다 2자릿수 이상 (항의 수가 많은(12 이상) 경우에는 예외) 크면 올림을 고려하더라도 최고위가 0이 된다. 이것은 규칙으로 인정되지 않는다.
  • 예를 들어 "one+two=three"라는 문제는 3자리 + 3자리이므로 합은 최대 4자리가 된다.
  • 뜨기: 전체에서 한 번만 사용된 문자가 같은 자리에 있으면, 그 두 문자가 교환 가능하게 되어 여러 개의 해가 발생한다. 이것을 "뜨기"라고 한다.
  • 예를 들어 "カナダ+ロシア=アメリカ(캐나다+러시아=아메리카)"라는 문제는 십의 자리 "ナ(나)"와 "シ(시)"가 교환 가능하다. 백의 자리는 "カ(카)", 일의 자리는 "ア(아)"가 각각 합에서도 사용되고 있으므로 문제 없다.
  • 미국 등에서는 뜨기가 있는 경우 작은 숫자를 위의 문자에 대입한다는 규칙이 있어서, 여러 개의 해의 요인이 되지 않는다.


같은 단어를 여러 개 겹쳐서 부동성을 없애는 생성 방식을 '''아사히 신문 방식'''이라고 부른다. 과거 아사히 신문 지상에서 이 방식으로 만들어진 문제가 많이 게재된 것에서 유래하여 다카기 시게오에 의해 명명되었다[21]

위에서 예시로 든 "바나나+바나나=시나몬"은 이 방식으로 만들어진 것이다.

7. 기타

임의의 기저로 일반화되었을 때, 암호 산술이 해를 가지는지 결정하는 문제는 NP-완전이다.[6] 10진법에서는 문자에 숫자를 할당하는 가능한 경우의 수가 10!개밖에 없으며, 이는 선형 시간 내에 퍼즐에 대해 확인할 수 있기 때문에 일반화는 경도 결과를 위해 필요하다.

알파메틱스는 스도쿠와 카쿠로와 같은 다른 숫자 퍼즐과 결합하여 암호 스도쿠 및 카쿠로를 만들 수 있다. 컴퓨터를 이용하여 복면산을 생성하는 프로그램이 존재한다. 가장 일반적인 것은 단어군을 데이터로 전달하면 그 단어를 조합하여 문제를 만드는 것이다.

단어 조합이 제한되는 수사 복면산에서는 컴퓨터를 이용한 탐색이 일반적이다.

10진법이라면 각 문자에 0~9의 숫자를 할당하고, 식이 성립하는지 확인하면 되므로, 10!가지 방법을 확인하는 것으로 풀 수 있다. 일반적으로 r진법이라면 r!가지 확인을 함으로써 컴퓨터로 쉽게 풀 수 있다. 그러나 "어떤 진법인가"도 입력의 일부가 되는 문제에 대해서는 두 숫자의 덧셈에 관한 문제가 NP 완전임이 증명되었으며,[23] 매우 어려운 부류에 속하는 문제로 여겨진다.

8. 복면산의 예 (한국어)

문제설명
ABCD × E = DCBAA = 2 또는 1, B = 1 또는 0, C = 7 또는 8, D = 8 또는 9, E = 4 또는 9
SEND + MORE = MONEY이 문제와 같이 뜻이 있는 문장을 이루는 경우를 특별히 alphametic이라 구별하여 부르기도 한다.D = 7, E = 5, M = 1, N = 6, O = 0, R = 8, S = 9, Y = 2
FORTY + TEN + TEN = SIXTY문장 자체가 참인 등식을 뜻할 경우를 특별히 이중으로 옳은 복면산(doubly true alphametic)이라 부른다.E = 5, F = 2, I = 1, N = 0, O = 9, R = 7, S = 3, T = 8, X = 4, Y = 6



이밖에도 어떤 숫자라도 가능하다는 뜻으로 문자 대신 빈 칸이나 * 기호를 사용한 문제도 있다. 이런 종류는 특별히 충식산(蟲食算, 벌레 먹은 셈)이라 부르기도 한다.

참조

[1] 간행물 Strand Magazine 1924-07
[2] 뉴스 No. 109 Mathematical puzzle https://archive.org/[...] 1864-12
[3] 서적 Mathematical Recreations 1953
[4] 뉴스 Globe and Mail Toronto 1955-10-27
[5] 서적 Perfectly Reasonable Deviations from the Beaten Track: The Letters of Richard P. Feynman https://books.google[...] Basic Books 2008-08
[6] 논문 On the NP-completeness of cryptarithms http://www.ics.uci.e[...]
[7] 웹사이트 Crux Mathematicorum https://cms.math.ca/[...] 2016-12-14
[8] 간행물 1946
[9] 간행물 1976
[10] 간행물 1985
[11] 간행물 1985
[12] 간행물 1985
[13] 간행물 1985
[14] 간행물 1985
[15] 간행물 1988
[16] 간행물 1985
[17] 간행물 1988
[18] 간행물 1985
[19] 간행물 1985
[20] 간행물 1985
[21] 간행물 1977
[22] 문서 虫食い算の歴史
[23] 논문 On the NP-completeness of cryptarithms
[24] 문서 研究社 リーダーズ英和辞典/リーダーズ・プラス 第2版 → cryptarithm



본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.

문의하기 : help@durumis.com