1
固定サイズの6文字の英数字IDを与える関数を作成したいと思います。先頭と最後の文字はアルファでなければなりません。連続した固定サイズのベース36 IDの作成
私はそれらを順番に生成します。私はbase36を使ってアルファベット[0-9A-Z]のアルファベットを使う方法だと思っていますが、開始時と終了時に常にアルファベットが6文字長くなるようにする方法があまりにもわかりません。
たとえば、IDを順番に作成して0から開始すると、両方のベースで0が同じであるため、出力は0になります。
ここで助けとなる効率的なアルゴリズムを知っている人はいますか?あなたがベースの剰余をとり、次いで塩基によって剰余を除算することによって一度に一つの桁を抽出し、base36文字列にint型から変換するための標準的なアルゴリズムを使用するが、追加することができ
おかげ
26^2 * 36^4の可能性があります。あなたは0から番号[A-Z](0-9A-Z){4} [A-Z]のシーケンスに変換するコンバータが必要です。 d0 = n%26、d1 = n/26%36のようなもの; d2 = n/26 * 36%36 ...非常に簡単なトリックを行う必要があります... – CFrei