2017-09-30 11 views
0

PHPまたはLuaで、64文字の16進文字列をそれぞれ生成するアルゴリズム/コード/例が必要です。このよう64文字の16進文字列をそれぞれ生成する

0000000000000000000000000000000000000000000000000000000000000001 
0000000000000000000000000000000000000000000000000000000000000002 
0000000000000000000000000000000000000000000000000000000000000003 
0000000000000000000000000000000000000000000000000000000000000004 
0000000000000000000000000000000000000000000000000000000000000005 
0000000000000000000000000000000000000000000000000000000000000006 
0000000000000000000000000000000000000000000000000000000000000007 
0000000000000000000000000000000000000000000000000000000000000008 
0000000000000000000000000000000000000000000000000000000000000009 
000000000000000000000000000000000000000000000000000000000000000A 
000000000000000000000000000000000000000000000000000000000000000B 
000000000000000000000000000000000000000000000000000000000000000C 
000000000000000000000000000000000000000000000000000000000000000D 
000000000000000000000000000000000000000000000000000000000000000E 
000000000000000000000000000000000000000000000000000000000000000F 
0000000000000000000000000000000000000000000000000000000000000010 
0000000000000000000000000000000000000000000000000000000000000011 
0000000000000000000000000000000000000000000000000000000000000012 
0000000000000000000000000000000000000000000000000000000000000013 
0000000000000000000000000000000000000000000000000000000000000014 
0000000000000000000000000000000000000000000000000000000000000015 
0000000000000000000000000000000000000000000000000000000000000016 
0000000000000000000000000000000000000000000000000000000000000017 
0000000000000000000000000000000000000000000000000000000000000018 
. 
. 
. 
+0

'私はこのコードを書いた...' *何* 'このcode'?あなたの質問にそれを含めてください。 (コードブロック用のコードブロックを使用してください。入出力については、引用符*を使用することをお勧めします。) – greybeard

+0

@greybeard私はそれらを削除しました。それは必要ではありません。 – Ayrese

答えて

2

使用printf進書式設定コード。

for ($i = 1; $i <= 1000; $i++) { 
    printf("%064X\n", $i); 
} 

Xという形式は、大文字で16進数を表示することを意味します。 064は、64文字のフィールドに先行するゼロを印刷することを意味します。同様に、LUAで


for i=1,1000 do 
    print (string.format("%064X", i)) 
end 
+0

ありがとう。@Barmar。私は 'printf'に関するすべてを忘れてしまった。この機能は高速ですか?私はこのタイプの文字列をたくさん生成しなければならないので、私はより速くて速い方法が必要です。すべての文字列を生成するために 'for'を' while(true) 'に変換しました。このループの終了番号は何ですか? – Ayrese

+0

すべての* 64桁の文字列を生成することはできません。それらの10^77以上があります。毎秒10億を生成した場合、3x10^30年かかるでしょう。 – Barmar

+0

最速の方法はありますか?私はこの文字列をそれぞれ生成した後、いくつかの計算を行い、それを私の文字列と比較します。最後の文字列が文字列と等しい場合、スクリプトはその文字コードを出力します。このプロセスをスピードアップする考えはありますか? – Ayrese

関連する問題