다음과 같은 숫자 순서를 고려하십시오.
단위 간격 모든 이진 분수를 열거합니다 .
(이 과제를보다 쉽게하기 위해 첫 번째 요소는 선택 사항입니다. 생략하고 시퀀스가 1/2로 시작하는 것을 고려할 수 있습니다.)
태스크
다음과 같은 프로그램 (완전한 프로그램 또는 기능)을 작성하십시오.
다음 동작 중 하나를 선택하십시오.
- 입력 n, 시퀀스의 출력 n 번째 요소 (0 인덱스 또는 1 인덱스);
- 입력 n, 시퀀스의 처음 n 개 요소 출력;
- 아무것도 입력하지 않고 하나씩 입력 할 수있는 무한 숫자 시퀀스를 출력하십시오.
규칙
- 프로그램은 최소한 처음 1000 개 항목을 지원해야합니다.
- 원하는대로 소수 또는 분수 (내장, 정수 쌍, 문자열)를 출력하도록 선택할 수 있습니다.
- 이 질문에서는 이진수로 입력 / 출력 할 수 없습니다.
- 이것은 code-golf 이며, 가장 짧은 코드가 이깁니다.
- 표준 허점은 허용되지 않습니다.
테스트 케이스
input output
1 1/2 0.5
2 1/4 0.25
3 3/4 0.75
4 1/8 0.125
10 5/16 0.3125
100 73/128 0.5703125
511 511/512 0.998046875
512 1/1024 0.0009765625
이 예제는 선행 0이 포함 된 0 색인 순서를 기반으로합니다. 솔루션에 맞게 입력을 조정해야합니다.
더 읽어보기
- OEIS A006257
- 요세푸스 문제 : . (이전의 M2216)
- 0, 1, 1, 3, 1, 3, 5, 7, 1, 3, 5, 7, 9, 11, 13, 15, 1, 3, 5, ...
- OEIS A062383
- : 경우 또는 입니다.
- 1, 2, 4, 4, 8, 8, 8, 8, 16, 16, 16, 16, 16, 16, 16, 16, 32, 32, 32, ...
A006257 (n) / A062383 (n) = (0, 0.1, 0.01, 0.11, 0.001, ...)은 단위 간격 [0, 1)의 모든 이진 분수를 열거합니다. -Fredrik Johansson, 2006 년 8 월 14 일
"1/2" "1/4" "1/8"...
take
나중에 n 개의 요소 를 가질 수있는 한 괜찮 습니다.
int
의, 또는 double
언어 / 구현 double
IEEE의 binary64 형식을 사용 ? 정수 입력을 원한다면 ASCII 문자열을 구문 분석해야한다는 것을 의미하지 않기를 바랍니다. 일반 정수 유형은 C와 같은 언어로 이진입니다. 또는 입력 / 출력이 정수 또는 ASCII 0/1의 배열 또는 문자열 일 수 없음을 의미합니까?