Considera la seguente sequenza numerica:
Enumera tutte le frazioni binarie nell'intervallo unitario .
(Per facilitare questa sfida, il primo elemento è facoltativo: puoi saltarlo e considerare che la sequenza inizia con 1/2.)
Compito
Scrivi un programma (programma completo o una funzione) che ...
Scegli uno di questi comportamenti:
- Input n, output ennesimo elemento della sequenza (0-indicizzato o 1-indicizzato);
- Input n, output primi n elementi della sequenza;
- Non inserire nulla, generare l'infinita sequenza numerica che si può prendere uno per uno;
Regola
- Il tuo programma dovrebbe almeno supportare i primi 1000 articoli;
- Puoi scegliere di produrre decimali o frazioni (built-in, coppia intera, stringhe) come preferisci;
- Input / Output come cifre binarie non è consentito in questa domanda;
- Questo è code-golf , vincono i codici più brevi;
- Scappatoie standard non consentite.
Casi test
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
Questi esempi si basano su una sequenza con indice 0 con lo 0 iniziale incluso. Dovresti regolare l'input per adattare la tua soluzione.
Leggi di più
- OEIS A006257
- Problema di Giuseppe Flavio: . (Nome precedente: M2216)
- 0, 1, 1, 3, 1, 3, 5, 7, 1, 3, 5, 7, 9, 11, 13, 15, 1, 3, 5, ...
- OEIS A062383
- : per n > 0 , a n = 2 ⌊ l o g 2 n + 1 ⌋ o a n = 2 a ⌊ n.
- 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, ...) enumera tutte le frazioni binarie nell'intervallo unitario [0, 1). - Fredrik Johansson, 14 agosto 2006
"1/2" "1/4" "1/8"...
take
n elementi da esso in seguito.
int
s, o un double
in una lingua / implementazione in cui double
utilizza il formato IEEE binary64 ? Spero che tu non voglia dire che è stato necessario analizzare una stringa ASCII se vogliamo prendere un input intero? I tipi interi normali sono binari in linguaggi come C. O vuoi dire che l'input / output non può essere un array o una stringa di interi o zero / ASCII?