시리즈 정보
우선, 이것을 다른 코드 골프 도전과 같이 취급하고 시리즈에 대해 전혀 걱정하지 않고 대답 할 수 있습니다. 그러나 모든 과제에는 리더 보드가 있습니다. 첫 번째 게시물에서 시리즈 에 대한 추가 정보와 함께 리더 보드를 찾을 수 있습니다 .
시리즈에 대한 아이디어가 많이 있지만 미래의 과제는 아직 해결되지 않았습니다. 제안 사항이 있으면 관련 샌드 박스 게시물에 알려주십시오 .
구멍 2 : 정규 분포의 숫자
아직 완료되지 않았다는 것을 믿을 수 없습니다! 정규 분포 를 사용하여 난수를 생성해야 합니다. 일부 규칙 (대부분의 규칙은 대부분의 제출에서 자동으로 다루어 지지만 일부 규칙은 크게 다른 언어 간의 결과 일관성을 보장하기 위해 적용됩니다) :
입력 으로 시드
S
와N
반환 할 숫자 의 양 이 아닌 음수가 아닌 두 정수를 입력 해야합니다 . 출력은 평균이 0 이고 분산이 1 인N
정규 분포에서 가져온 부동 소수점 숫자 의 목록이어야합니다 . 제출물에 동일한 시드가 부여 될 때마다 동일한 수를 생성해야합니다. 특히와 함께 한 번 호출되고 와 함께 한 번 호출 되는 경우 두 출력 의 첫 번째 항목이 동일해야합니다. 또한, 적어도 2 개의 16 개의 서로 다른 값이 다른 시퀀스를 생성해야합니다.S
(S, N1)
(S, N2)
min(N1, N2)
S
전달할 수 있고 적어도 2 개의 16 개의 다른 시드를 지원하는 경우 대략적인 균일 분포 에서 숫자를 추출하도록 문서화 된 내장 난수 생성기를 사용할 수 있습니다 . 그렇게 하면 RNG는 요청한 번호에 대해 적어도 2 개의 20 개의 다른 값 을 반환 할 수 있어야 합니다.
S
- 사용 가능한 균일 한 RNG의 범위가 더 작거나 시드 할 수 없거나 너무 적은 시드를 지원하는 경우 먼저 내장 된 것 위에 충분히 넓은 범위의 균일 한 RNG를 구축하거나 다음을 사용하여 적절한 RNG 를 구현해야합니다. 씨앗. 이 페이지 가 도움 이 될 수 있습니다.
- 정규 분포를 생성하기 위해 확립 된 알고리즘을 구현하지 않은 경우 정확성을 증명하십시오. 두 경우 모두, 선택한 알고리즘은 이론적으로 정확한 정규 분포 (기본 PRNG 또는 제한 정밀도 데이터 유형의 제한을 제외 함)를 산출해야합니다 .
- 구현시 부동 소수점 숫자 (최소 32 비트 폭) 또는 고정 소수점 숫자 (최소 24 비트 폭)를 사용하고 반환해야 하며 모든 산술 연산은 선택한 유형의 전체 너비를 사용해야합니다.
- 오차 함수 또는 역함수 와 같은 정규 분포 또는 가우스 적분과 직접 관련된 내장 함수를 사용해서는 안됩니다 .
전체 프로그램 또는 함수를 작성하고 STDIN, 명령 행 인수, 함수 인수 또는 프롬프트를 통해 입력을 가져오고 리턴 값을 통해 또는 STDOUT (또는 가장 가까운 대안)으로 인쇄하여 출력을 생성 할 수 있습니다.
S
및 N
음이 아닌 정수, 각각 2 미만이어야한다 (20) . 출력은 편리하고 명확한 목록 또는 문자열 형식 일 수 있습니다.
이것은 코드 골프이므로 가장 짧은 제출 (바이트)이 이깁니다. 물론 사용자 당 가장 짧은 제출물도 시리즈의 전체 순위표에 들어갑니다.
리더 보드
답변이 표시되도록하려면 다음 마크 다운 템플릿을 사용하여 모든 답변을 헤드 라인으로 시작하십시오.
# Language Name, N bytes
N
제출물의 크기는 어디에 있습니까 ? 당신이 당신의 점수를 향상시킬 경우에, 당신은 할 수 있습니다 를 통해 눈에 띄는에 의해, 헤드 라인에 오래된 점수를 유지한다. 예를 들어 :
# Ruby, <s>104</s> <s>101</s> 96 bytes
(언어는 현재 표시되어 있지 않지만 스 니펫은이를 요구하고 구문 분석하며 향후 언어 별 리더 보드를 추가 할 수 있습니다.)