Avertissement
Cette question n'est pas un double de cette question . Je ne compte pas les chiffres spécifiques, car nous avons déjà ceux définis dans les paramètres initiaux. Cette question se concentre sur les nombres décimaux qui peuvent être construits à partir des chaînes binaires en fonction des chiffres fournis.
Défi
Étant donné deux nombres entiers X
et Y
, représentant respectivement le nombre de zéros ( 0
) et de uns ( 1
), calculez tous les équivalents décimaux possibles qui peuvent être déterminés à partir de la création de chaînes binaires en utilisant uniquement les zéros et les uns fournis, et affichez-les en sortie.
Exemple 1:
Contribution: 0 1
Production: 1
Explication: Un seul 1
compte, qui ne peut être converti que dans un sens.
Exemple 2:
Contribution: 1 1
Production: 1,2
Explication: 01
convertit en 1, 10
convertit en 2.
Exemple 3:
Contribution: 3 2
Production: 3,5,6,9,10,12,17,18,20,24
Explication: trois 0
s et deux 1
s font 00011
(3), 00101
(5), 00110
(6), 01001
(9), 01010
(10), 01100
(12), 10001
(17), 10010
(18), 10100
(20), 11000
(24)
Limitations et règles
- Je m'attendrai seulement à ce que votre code fonctionne là où
0 < X + Y <= 16
le nombre maximum dans la sortie ne peut se produire qu'à partir de 161
s, c'est-à-dire les paramètres0
et16
. - En raison de la limitation ci-dessus, la plage de nombres attendue dans la sortie provient de
0
et65535
. - J'accepterai des fonctions ou du code, tant que la sortie résultante est fournie, que ce soit une liste séparée par des virgules, un tableau, une liste sortie vers STDOUT, etc. Le seul critère que je dois souligner à propos de la sortie est qu'elle doit être triée.
- Ceci est du golf de code, les octets minimum recevront le maximum de gloire.
- Nous ne tolérerons pas de failles idiotes
0 0
?
0 <= X + Y <= 16
, donc oui, car 0 0
serait considéré comme une entrée valide qui satisfait à cette règle.
0 0
? Le nombre 0 peut être représenté par zéro, un ou plusieurs zéros.