- 633 名前:デフォルトの名無しさん mailto:sage [2010/05/10(月) 05:36:27 ]
- テストとか学校の課題?
>ぐぐってみたらX種類の文字のN重ループは >for i := 0 to Power(X, N)-1 do begin > for j := 0 to N-1 do begin >で代用出来ると書かれていたのですが 元 URL を出していただけるか、元 URL のところに相談を持ち込んだほうがよいかも。 このアルゴリズム断片は、整数を26進数表記で処理するアイデアです。 i が対象となる全整数、j が 26進数変換の変換対象桁数。 i が 32 なら、 32 / 26 -> 1 余り 6 -> 'g' 1 / 26 -> 0 余り 1 -> 'b' 文字列として 'bg' を得る。 となります。 アルゴリズムとしては簡単なほうですが、 * 全組み合わせを整数から生成しているけど 26進数10桁だと 16進で 806406972400 で 32bit に収まらないから int64 にしないと。 * 0-9 が 10進で、a-z で 26進。'a' が 0 を意味するので、このアルゴリズムを単純実装 したときは aaaaaaaaaa から zzzzzzzzzz が生成されます。頭の a を消去(ゼロサプレス) しても a,b ... y ときて z の次は aa ではなく ba です。 * おそらく、遅い。
|

|