Haftungsausschluss
Diese Frage ist kein Duplikat dieser Frage . Ich zähle keine bestimmten Ziffern, da wir diese bereits in den Anfangsparametern festgelegt haben. Diese Frage konzentriert sich auf die Dezimalzahlen, die aus den binären Zeichenfolgen basierend auf den angegebenen Ziffern erstellt werden können.
Herausforderung
Berechnen Sie bei zwei Ganzzahlen X
und entsprechend Y
der Anzahl der Nullen ( 0
) und Einsen ( 1
) alle möglichen Dezimaläquivalente, die aus der Erstellung von Binärzeichenfolgen unter Verwendung der angegebenen Nullen und Einsen ermittelt werden können, und zeigen Sie sie als Ausgabe an.
Beispiel 1:
Eingang: 0 1
Ausgabe: 1
Erläuterung: Es muss nur eine 1
berücksichtigt werden, die nur in eine Richtung konvertiert werden kann.
Beispiel 2:
Eingang: 1 1
Ausgabe: 1,2
Erklärung: 01
konvertiert zu 1, 10
konvertiert zu 2.
Beispiel 3:
Eingang: 3 2
Ausgabe: 3,5,6,9,10,12,17,18,20,24
Erklärung: Drei 0
s und zwei 1
s ergeben 00011
(3), 00101
(5), 00110
(6), 01001
(9), 01010
(10), 01100
(12), 10001
(17), 10010
(18), 10100
(20), 11000
(24)
Einschränkungen und Regeln
- Ich erwarte nur, dass Ihr Code funktioniert, wo
0 < X + Y <= 16
also die maximale Anzahl in der Ausgabe erst ab 161
s auftreten kann, also Parameter0
und16
. - Aufgrund der obigen Einschränkung ist der erwartete Zahlenbereich in der Ausgabe von
0
und65535
. - Ich akzeptiere Funktionen oder Code, solange die resultierende Ausgabe bereitgestellt wird, sei es eine durch Kommas getrennte Liste, ein Array, eine an STDOUT ausgegebene Liste usw. Das einzige Kriterium, das ich in Bezug auf die Ausgabe hervorheben muss, ist, dass sie sortiert werden muss .
- Dies ist Code Golf, minimale Bytes erhalten maximale Pracht.
- Wir werden dumme Schlupflöcher nicht tolerieren
0 0
?
0 <= X + Y <= 16
, also ja, weil 0 0
dies als gültige Eingabe angesehen wird, die diese Regel erfüllt.
0 0
? Die Zahl 0 kann durch Null, eine oder mehrere Nullen dargestellt werden.