「フィット番号」
サムには、圧縮に関する「素晴らしい」アイデアがあります。手伝ってくれますか?
これがサムの圧縮スキームの要約です。最初に、厳密に2 ^ 16よりも小さい任意の自然数の基数10表現を取得し、先行ゼロなしのバイナリ文字列として書き込みます。
1-> 1 9-> 1001 15-> 1111 13-> 1101 16-> 10000 17-> 10001 65535-> 111111111111111
1つ以上のゼロのグループを単一のゼロに置き換えます。これは、数値がスリムになったためです。バイナリ文字列は次のようになります。
1-> 1-> 1 9-> 1001-> 101 15-> 1111-> 1111 13-> 1101-> 1101 16-> 10000-> 10 17-> 10001-> 101 65535-> 111111111111111-> 111111111111111
ここで、バイナリ文字列をベース10表現に変換し、受け入れ可能な形式で出力します。テストケースは次のとおりです。最初の整数は入力を表し、最後の整数は出力を表します。一部の数値は変わらないため、「適合」と呼ぶことができることに注意してください
1-> 1-> 1-> 1 9-> 1001-> 101-> 5 15-> 1111-> 1111-> 15 13-> 1101-> 1101-> 13 16-> 10000-> 10-> 2 17-> 10001-> 101-> 5 65535-> 1111111111111111-> 1111111111111111-> 65535 65000-> 1111110111101000-> 11111101111010-> 16250
任意の言語を使用できますが、サムは標準的な抜け穴を嫌うことに注意してください。これはコードゴルフであるため、「圧縮された」数字のためのスペースを空けるために、コードはできるだけ短くすることができます。
注:これは受け入れ可能な圧縮スキームではありません。これを使用すると、すぐに解雇されます。
引用が必要:私はこの概念を信用していません。これは@Conor O」オブライエンさんのブログから来てここにフィット数字のこのOEISを参照してください。https://oeis.org/A090078
10000
か?