Bitte entschuldigen Sie den Punny-Titel.
Diese Frage ist von A Curious Property von 82000 inspiriert . Darin weist der Autor darauf hin, dass die Zahl 82000 in Basis 2, 3, 4 und 5 binär ist. Der Beitrag wirft dann die Frage auf, ob es eine Zahl gibt, die in Basis 2, 3, 4, 5 und 6 binär ist "? (Für Neugierige habe ich Werte bis zu 10 ^ 1,000,000 überprüft und bisher lautet die Antwort nein.)
Das brachte mich zum Nachdenken: In welchen Basen ist es bei einer gegebenen Zahl binär?
Unsere merkwürdige Zahl 82000 ist eigentlich binär in sechs Basen:
Base 2 = 10100000001010000
Base 3 = 11011111001
Base 4 = 110001100
Base 5 = 10111000
Base 81999 = 11
Base 82000 = 10
Nicht alle Zahlen haben binäre Basen, die sequentiell sind. Betrachten Sie die Zahl 83521. Sie ist in den Basen 2, 17, 289, 83520 und 83521 binär.
Ihre Herausforderung besteht darin, zu bestimmen und anzuzeigen, auf welcher Basis eine Zahl binär ist.
Regeln
- Eine Zahl wird in einer gegebenen Basis als "binär" betrachtet, wenn ihre Darstellung in dieser Basis nur aus Nullen und Einsen besteht.
110110
ist ein binärer Wert, während12345
nicht ist,A380F
ist definitiv nicht. - Ihre Nummer wird in der Standardeingabe angegeben. Es wird ein ganzzahliger Wert zwischen 2 und 2 ^ 32-1 einschließlich sein und wird im Basis-10-Format bereitgestellt.
- Zeigen Sie in aufsteigender Reihenfolge jede Basis an, die größer als eine ist, in der die Zahl binär ist. Jede Basis sollte in einer eigenen Zeile stehen. Wenn Sie den Binärwert in diese Basis einbeziehen (siehe Bonusbewertung unten), trennen Sie die Basis und den Binärwert durch ein Leerzeichen. Es wird nur die Ausgabe auf Standard-Out bewertet, Standardfehler und andere Quellen werden ignoriert.
Wertung
Ihre Punktzahl entspricht der Größe Ihres Programms in Byte. Je niedriger die Punktzahl, desto besser.
Bonus :
Wenn Ihr Programm auch die Binärwerte in den gefundenen Basen ausgibt, multiplizieren Sie Ihre Punktzahl mit 0,75.
Ihr angezeigter Binärwert sollte keine zusätzliche Interpunktion, keine fremden Nullen, keinen Dezimalpunkt, nur Nullen und Einsen enthalten.
Beispiele
Eingang:
82000
Output (erhält Bonus):
2 10100000001010000
3 11011111001
4 110001100
5 10111000
81999 11
82000 10
Eingang:
1234321
Output (kein Bonus):
2
1111
1234320
1234321
n
ist immer zumindest in binären Basen 1
(nicht gezählt), 2
, n-1
, und n
.
[1, 0, 1, 1, 0]
besonders ok, oder müssen die Nummern gerne zusammengefügt werden 10110
?