# 4개의 숫자 2로 모든 정수 만들기

> Clean Markdown view of GeekNews topic #19404. Use the original source for factual precision when an external source URL is present.

## Metadata

- GeekNews HTML: [https://news.hada.io/topic?id=19404](https://news.hada.io/topic?id=19404)
- GeekNews Markdown: [https://news.hada.io/topic/19404.md](https://news.hada.io/topic/19404.md)
- Type: GN+
- Author: [neo](https://news.hada.io/@neo)
- Published: 2025-02-24T19:33:34+09:00
- Updated: 2025-02-24T19:33:34+09:00
- Original source: [eli.thegreenplace.net](https://eli.thegreenplace.net/2025/making-any-integer-with-four-2s/)
- Points: 1
- Comments: 1

## Topic Body

### 네 개의 2로 모든 정수 만들기

- **수학 퍼즐 소개**
  - 네 개의 숫자 2와 목표 자연수를 주고, 다른 숫자를 사용하지 않고 다양한 수학적 연산을 통해 목표 숫자를 만드는 퍼즐임.
  - 초등학생도 풀 수 있는 예시:
    - 1 = (2+2) / (2+2)
    - 2 = (2/2) + (2/2)
    - 3 = 2×2 - (2/2)
    - 4 = 2 + 2 + 2 - 2
    - 5 = 2×2 + (2/2)
    - 6 = 2×2×2 - 2

- **중학생 수준의 수학**
  - 지수와 팩토리얼을 배우면 범위가 확장됨:
    - 18 = 2^(2^2) + 2
    - 28 = (2+2)! + 2 + 2
    - 256 = (2+2)^(2+2)
    - 65536 = 2^(2^(2^2))

- **고급 수학적 트릭**
  - 22를 두 개의 2로 간주하는 등 다양한 트릭 사용 가능:
    - 26 = 22 + 2 + 2
    - 11 = 22 / √(2+2)
    - 444 = 222×2

- **고급 수학 도구 사용**
  - 감마 함수 등 고급 수학 도구를 사용하면 7을 쉽게 만들 수 있음:
    - 7 = Γ(2) + 2 + 2 + 2

- **복소수와 고급 수학**
  - 복소수를 사용한 예시:
    - 12 = |2 + 2√(-2)|^2

- **폴 디락의 일반 해법**
  - 폴 디락이 모든 숫자에 대한 일반 해법을 발견함.
  - 중첩된 제곱근을 사용하여 모든 숫자를 표현 가능:
    - √2 = 2^(1/2) = 2^(2^-1)
    - √√2 = 2^(1/4) = 2^(2^-2)
    - √√√2 = 2^(1/8) = 2^(2^-3)

- **일반 공식**
  - n = -log_2(log_2(√√...√2))
  - 이 공식은 세 개의 2를 사용하지만, 2 = √(2+2)를 사용하여 네 개로 조정 가능:
    - n = -log_√(2+2)(log_2(√√...√2))

- **퍼즐의 규칙에 맞는 해법**
  - 이 방법은 퍼즐의 규칙에 부합하며, 모든 숫자를 표현할 수 있음.
  - 예를 들어, 7을 표현하는 또 다른 방법:
    - 7 = -log_√(2+2)(log_2(√√√√√√√2))

- **참고 자료**
  - 이 이야기는 Graham Farmelo의 책 _The Strangest Man: The Hidden Life of Paul Dirac, Quantum Genius_에서 읽음.

## Comments



### Comment 35041

- Author: neo
- Created: 2025-02-24T19:33:34+09:00
- Points: 1

###### [Hacker News 의견](https://news.ycombinator.com/item?id=43145753) 
- 함수 사용을 허용하면 게임의 정신을 잃는 느낌임
  - 예를 들어, 감마 함수는 (n-1)!임
  - 이제 네 개의 2와 하나의 1로 7을 만들 수 있음
  - 함수 호출에 숫자를 숨길 수 있다면 항상 성공하기 쉬움

- 수학적 연산을 사용할 수 있다면
  - 후속 함수 사용으로 쉽게 해결 가능함
  - 예시: S(n) = n+1
    - 6 = 2*2*2-2
    - 7 = S(2*2*2-2)
    - 8 = S(S(2*2*2-2))

- "Representing numbers using only one 4"라는 글을 26세의 Donald Knuth가 1964년에 작성함
  - 단일 숫자 4와 세 가지 연산(√x, ⌊x⌋, x!)을 사용함
  - 모든 정수를 이 방식으로 표현할 수 있는지에 대한 미해결 추측으로 끝남
  - 부록에서는 1962년 J. H. Conway와 M. J. T. Guy가 작성한 "π in Four 4's"라는 논문을 언급함

- sqrt(2+2) 대신 sqrt(2*2) 또는 sqrt(2^2)를 쓰는 것이 이상한 선택으로 보임
  - 2=sqrt(2+2)라는 이유를 불필요하게 숨김

- 간결함을 선호함
  - 단일 문자 명령어로 스택 머신을 만들었음
  - 0부터 9까지의 숫자만 사용 가능했음
  - 숫자 23을 표현하려면 45*3+와 같은 방법을 사용해야 했음
  - 각 정수를 가장 적은 문자로 인코딩하는 문제를 해결해야 했음

- Tchisla라는 모바일 게임이 떠오름
  - 주어진 숫자와 몇 가지 연산자만으로 최대 1000(또는 10000)까지의 숫자를 만들어야 함
  - 매우 재미있고 전략을 개발하게 됨
  - UX가 간단하고 효율적임
  - 매우 시간이 많이 소요됨

- 세 개의 2를 사용하는 작은 문제점이 있음
  - 루트 표기법이 1/2의 지수를 숨기고 있음
  - 많은 숨겨진 2가 있음

- "four fours"라는 고전적인 게임이 있음
  - 어릴 때 "The Man Who Counted"라는 책에서 배움

- 임의의 수의 제곱근을 사용하는 것이 거의 속임수처럼 보임
  - 제곱근은 사실상 "2"의 또 다른 기호임

- 7을 정의하는 것이 정말로 어렵다는 의견
  - 7 = 2/2 + 2 + 2 + 2로 표현 가능함
