数値の長さmのn番目の値(右から左にカウント)の最大桁が常にm-n + 1に等しい数値のシステムを作成します。例を挙げると、このシステムで表現可能な最大5桁の数値12345と書かれています。特定の場所で使用できる桁数が制限されていることを除けば、他のすべての増分は標準です。つまり、桁がその桁制限を超える場合、次の桁に1を追加します。
このシステムでカウントがどのように表示されるかを次に示します。
1; 10; 11; 12; 100; 101; 102; 103; 110; 111; 112; 113; 120; 121; 122; 123; 1000; 1001 ...
あなたの仕事は、標準の10進数を取り、それを私の採番システムに変換する関数を書くことです。
短いコードが望ましいです。ボンネ・チャンス!
** 9桁以降の数字が必要な場合(必要です)、文字を使用するか、リストの要素として2桁の数字を返すかを選択できます。
テストケース
10 -> 111
20 -> 1003
30 -> 1023
50 -> 1123
100 -> 10035
23116 -> 1234567
21977356 -> 123456789A
最後のケースは、実装方法によっては実行が非常に遅くなる場合があります。時間がかかりすぎたり、メモリを使いすぎる場合は、実行する必要はありません。ただし、迅速に実行し、メモリをほとんど使用しない方法が存在することに注意してください。
100 -> 10035
ではなく取得してい100 -> 10033
ます、確認できますか?