1P by neo 5일전 | ★ favorite | 댓글 1개

네 개의 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_에서 읽음.
Hacker News 의견
  • 함수 사용을 허용하면 게임의 정신을 잃는 느낌임

    • 예를 들어, 감마 함수는 (n-1)!임
    • 이제 네 개의 2와 하나의 1로 7을 만들 수 있음
    • 함수 호출에 숫자를 숨길 수 있다면 항상 성공하기 쉬움
  • 수학적 연산을 사용할 수 있다면

    • 후속 함수 사용으로 쉽게 해결 가능함
    • 예시: S(n) = n+1
      • 6 = 222-2
      • 7 = S(222-2)
      • 8 = S(S(222-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로 표현 가능함