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 Xet 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 1compte, qui ne peut être converti que dans un sens.
Exemple 2:
Contribution: 1 1
Production: 1,2
Explication: 01convertit en 1, 10convertit en 2.
Exemple 3:
Contribution: 3 2
Production: 3,5,6,9,10,12,17,18,20,24
Explication: trois 0s et deux 1s 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 <= 16le nombre maximum dans la sortie ne peut se produire qu'à partir de 161s, c'est-à-dire les paramètres0et16. - En raison de la limitation ci-dessus, la plage de nombres attendue dans la sortie provient de
0et65535. - 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 0serait 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.