面白いタイトルを言い訳してください。
これは、82000のCurious Propertyに触発された質問です。その中で、著者は、82000という数値が2、3、4、および5の基数が2進数であることを指摘しています。 「?(好奇心が強い人のために、10 ^ 1,000,000までの値をチェックしましたが、これまでのところ答えはノーです。)
これは私に考えさせられました:数を与えられて、それはどんなベースでバイナリですか?
私たちの好奇心8盛な数字82000は、実際には6つのベースのバイナリです。
Base 2 = 10100000001010000
Base 3 = 11011111001
Base 4 = 110001100
Base 5 = 10111000
Base 81999 = 11
Base 82000 = 10
すべての数値が連続したバイナリベースを持つわけではありません。番号83521を検討してください。2、17、289、83520、83521の基数のバイナリです。
あなたの課題は、どの基数がバイナリであるかを判断して表示することです。
ルール
- 数値は、そのベース内の表現がゼロと1のみで構成されている場合、そのベース内の「バイナリ」と見なされます。
110110
はバイナリ値ですが、12345
そうでA380F
はありませんが、間違いなく違います。 - 番号は標準入力で提供されます。2から2 ^ 32-1までの整数値で、10進形式で提供されます。
- 昇順で、数値が2進数である1よりも大きい各ベースを表示します。各ベースは独自の行にある必要があります。そのベースにバイナリ値を含める場合(以下のボーナススコアリングを参照)、ベースとバイナリ値をスペースで区切ります。標準出力への出力のみが判定され、標準エラーおよびその他のソースは無視されます。
得点
スコアは、プログラムのバイト単位のサイズです。スコアが低いほど優れています。
ボーナス:
プログラムが検出されたベースのバイナリ値も出力する場合、スコアに0.75を掛けます。
表示されるバイナリ値には、余分な句読点、余分なゼロ、小数点、ゼロ、1はありません。
例
入力:
82000
出力(ボーナスを受け取る):
2 10100000001010000
3 11011111001
4 110001100
5 10111000
81999 11
82000 10
入力:
1234321
出力(ボーナスなし):
2
1111
1234320
1234321
n
常に少なくとも塩基にバイナリである1
(カウントしない)、 、2
、n-1
およびn
。
[1, 0, 1, 1, 0]
大丈夫でしょうか、または数字を次のように結合する必要があり10110
ますか?