소수의 배정도 표현은 소수점 이하 15 자리의 정확도 만 보장 할 수 있으므로 pi는 다음과 같습니다.
3.141592653589793
숫자 3
가 위치 1, 10, 16
에 있고 숫자 1
가 위치 2, 4
등에 있음을 알 수 있습니다.
도전
당신의 임무는 0과 1 사이의 임의의 이중 숫자를 생성하고 그 숫자의 값을 pi의 값에 매핑하는 프로그램이나 함수를 만드는 것입니다. 숫자가 pi에있는 위치에 임의의 숫자로 다른 숫자를 배치하여이를 수행합니다. pi에서 숫자를 찾을 수 없으면 생략하고 pi에서 임의의 숫자가 아닌 모든 숫자는로 표시됩니다 x
. 각 값은 왼쪽부터 한 번만 사용할 수 있습니다.
몇 가지 예는 아마도 이것을 더 명확하게 할 것입니다. 다음 예에서 첫 번째 숫자는 pi이고 두 번째 숫자는 난수이며 마지막 숫자는 원하는 출력입니다.
3.141592653589793
0.111111111111111
x.1x1xxxxxxxxxxxx
3.141592653589793
0.531000000000000
3.1xx5xxxxxxxxxxx
3.141592653589793
0.123456789123456
3.141592653x8x7xx
3.141592653589793
0.967552381459391
3.14159265358979x
규칙 :
- 이 함수는 입력을 받아서는 안됩니다 (가능한 예외는 글 머리표 3에 설명되어 있습니다)
- 출력은 선택적인 줄 바꿈과 함께 출력 문자열로만 구성되어야합니다 (단일 후행 공간도 허용됨)
- 프로그램에 내장 Pi- 값 및 / 또는 RNG가없는 경우 Pi를 하드 코딩하고 난수를 입력으로 사용할 수 있습니다. 난수를 하드 코딩하거나 Pi를 입력으로 사용할 수 없습니다.
- Pi의 하드 코딩 된 값과 15 개의 임의의 숫자 (
0.
0과 1 사이임을 알 수 있으므로 건너 뛸 수 있음)가 바이트 수에 포함됩니다. - 언어에 필요한 정밀도가 없으면 다음 제한에 따라 정밀도를 떨어 뜨릴 수 있습니다
- Pi의 자릿수는 보유한 정밀도까지 정확해야합니다.
- 정확한 값보다 더 많은 값을 출력 할 수 없습니다. 즉, 정밀도에 8 자리의 정확한 소수만 허용하면 15 자리를 출력 할 수 없습니다.
- 프로그램이 8 자리 만 지원하더라도 Pi의 하드 코드 된 값은 16 바이트 (소수점 필요 없음)로 계산됩니다.
- 난수 입력 값은 15 바이트로 계산됩니다 (필요하지 않음)
0.
. 정밀도가 낮은 언어는 부당한 이점이 없어야하기 때문입니다. - 프로그램은 소수점 이하 5 자릿수 (최소한)를 지원해야합니다.
- 편집 : 답변의 유효성을 검사하려면 : 난수를 어떻게 든 인쇄해야하지만이 작업을 바이트 수에 포함시킬 필요는 없습니다. 예를 들어
print r
스크립트 끝에 a를 삽입 할 수 있으면 해당 부분이 점수를 높이 지 않습니다. - 다른 필요한 작업의 일부인 경우 바이트를 뺄 수 없습니다. 즉, 코드가 있으면
print pi, r
빼기 만 가능합니다, r
. - : 당신이 코드에서 부품을 여러 장소를 삽입해야하는 경우, 인쇄 임의의 숫자와 주석과 같은하지 않는 한 것으로 두 버전 (사람을 포함하십시오
_p
하고_oNo
. 임의의 숫자를 인쇄 할 필요가_p
XXX을 수행하고_oNo
수행 YYY._p
그리고_oNo
바이트 수에 포함되지 않습니다.
바이트 단위의 최단 코드가 이깁니다.
리더 보드
이 게시물의 맨 아래에있는 스택 스 니펫은 답변 a) 언어 당 가장 짧은 솔루션 목록으로, b) 전체 리더 보드로 카탈로그를 생성합니다.
답변이 표시되도록하려면 다음 마크 다운 템플릿을 사용하여 헤드 라인으로 답변을 시작하십시오.
## Language Name, N bytes
N
제출물의 크기는 어디에 있습니까 ? 당신은 당신의 점수를 향상시킬 경우에, 당신은 할 수 있습니다 를 통해 눈에 띄는에 의해, 헤드 라인에 오래된 점수를 유지한다. 예를 들어 :
## Ruby, <s>104</s> <s>101</s> 96 bytes
헤더에 여러 숫자를 포함하려는 경우 (예 : 점수가 두 파일의 합계이거나 인터프리터 플래그 페널티를 별도로 나열하려는 경우) 실제 점수가 헤더 의 마지막 숫자 인지 확인하십시오 .
## Perl, 43 + 2 (-p flag) = 45 bytes
언어 이름을 링크로 만들면 스 니펫에 표시됩니다.
## [><>](http://esolangs.org/wiki/Fish), 121 bytes
0 < random < 1
또는 0 <= random <= 1
?