우리는 base 10, base 2, base 36 또는 base -10을 기반으로 많은 도전을 겪지 만 다른 모든 합리적인 근거는 어떻습니까?
직무
밑이 10 인 정수와 합리적인 밑이 주어진 경우 해당 밑의 정수 (배열, 문자열 등)를 반환합니다.
방법
합리적인 근거를 상상하기는 어렵습니다 . 분해 점을 사용하여 시각화하십시오 .
기본 3에서 17을 표현하는이 애니메이션을 고려하십시오.
각 점은 단위를 나타내고 상자는 숫자를 나타냅니다. 가장 오른쪽 상자는 한 자리, 가운데 상자는 3 ^ 1 장소, 가장 왼쪽 상자는 3 ^ 2 장소입니다.
한 곳에서 17 개의 점으로 시작할 수 있습니다. 그러나 이것은 밑이 3이므로 한 곳의 위치는 3보다 작아야합니다. 따라서 3 개의 점을 "폭발"하고 왼쪽 상자에 점을 만듭니다. 우리는 분해 가능한 점이없는 안정된 위치 (예 : 같은 상자에 3 개의 점)가 될 때까지이 과정을 반복합니다.
따라서 밑 10의 17은 밑 3의 122입니다.
분수 기준은 일부 점을 하나 이상의 점으로 분해하는 것과 유사합니다. 기본 3/2는 3 개의 점을 폭발시켜 2를 만듭니다.
기본 3/2에서 17 표현 :
따라서 밑 10의 17은 밑 3/2의 21012입니다.
음수 기준은 비슷하게 작동하지만 부호를 추적해야합니다 (소위 반 도트 사용, -1, 열린 원으로 표시).
기본 -3에서 17 표현 :
모든 상자의 부호를 동일하게 만들기위한 추가 폭발이 있습니다 (0 무시).
따라서 밑 10의 17은 밑 -3의 212입니다.
음의 합리적 염기는 위의 두 경우의 조합에서 유사하게 작동합니다.
규칙
- 표준 허점이 없습니다.
- 출력에서 각 "숫자"의 부호는 같아야합니다 (또는 0).
- 모든 자릿수의 절대 값은 밑면 분자의 절대 값보다 작아야합니다.
- 베이스의 절대 값이 1보다 크다고 가정 할 수 있습니다.
- 합리적 기준이 가장 축소 된 형태라고 가정 할 수 있습니다.
- 입력에서 염기의 분자와 분모를 따로 가져갈 수 있습니다.
- 숫자에 여러 표현이있는 경우 그 중 하나를 출력 할 수 있습니다. (베이스 (10)의 예 12를하면 될 수
{-2, -8}
및{1, 9, 2}
베이스 -10)
테스트 사례 :
체재: {in, base} -> result
{7, 4/3} -> {3, 3}
{-42, -2} -> {1, 0, 1, 0, 1, 0}
{-112, -7/3} -> {-6, -5, 0, -1, 0}
{1234, 9/2} -> {2, 3, 6, 4, 1}
{60043, -37/3} -> {-33, -14, -22, -8}
일부 입력에는 여러 표현이있을 수 있으므로 TIO에서이 Mathematica 스 니펫을 사용하여 출력을 테스트하는 것이 좋습니다 .
이것은 code-golf 이므로 각 언어에서 가장 짧은 바이트 수로 제출하면 승리합니다!
점 폭발에 대한 자세한 내용 은 글로벌 수학 프로젝트 웹 사이트를 방문하십시오 ! 그들은 멋진 수학 물건을 많이 가지고 있습니다!