Considérons la séquence numérique suivante:
Il énumère toutes les fractions binaires dans l'intervalle unitaire .
(Pour faciliter ce défi, le premier élément est optionnel: vous pouvez le sauter et considérer que la séquence commence par 1/2.)
Tâche
Ecrivez un programme (programme complet ou une fonction) qui ...
Choisissez l'un de ces comportements:
- Entrée n, sortie nième élément de la séquence (indexé 0 ou indexé 1);
- Entrer n, sortir n premiers éléments de la séquence;
- N'entrez rien, indiquez la suite de nombres infinis que vous pouvez prendre l'un après l'autre;
Règle
- Votre programme doit au moins prendre en charge les 1000 premiers éléments.
- Vous pouvez choisir de produire des décimales ou des fractions (paire intégrée, paire entière, chaînes) à votre guise;
- Les entrées / sorties sous forme de chiffres binaires ne sont pas autorisées dans cette question;
- C'est le code-golf , les codes les plus courts gagnent;
- Lacunes standard interdites.
Testcases
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
Ces exemples sont basés sur une séquence indexée par 0, le 0 initial étant inclus. Vous auriez besoin d'ajuster l'entrée pour adapter votre solution.
Lire la suite
- OEIS A006257
- Problème de Josèphe: . (Anciennement M2216)
- 0, 1, 1, 3, 1, 3, 5, 7, 1, 3, 5, 7, 9, 11, 13, 15, 1, 3, 5, ...
- OEIS A062383
- : pour , ou .
- 1, 2, 4, 4, 8, 8, 8, 8, 16, 16, 16, 16, 16, 16, 16, 16, 16, 32, 32, 32, ...
A006257 (n) / A062383 (n) = (0, 0,1, 0,01, 0,11, 0,001, ...) énumère toutes les fractions binaires de l'intervalle unitaire [0, 1). - Fredrik Johansson, 14 août 2006
"1/2" "1/4" "1/8"...
take
n éléments plus tard.
int
s, ni double
dans un langage / une implémentation double
utilisant le format binaire64 IEEE ? J'espère que vous ne voulez pas dire qu'il faut analyser une chaîne ASCII si on veut prendre une entrée entière? Les types entiers normaux sont binaires dans des langages tels que C. Ou voulez-vous dire que l'entrée / sortie ne peut pas être un tableau ou une chaîne d'entier ou des zéros / uns ASCII?