古い記事
ランダムジャンプ
新しい記事
昨日[2004-12-16-4]の Shibuya Perl Mongers の水野氏のプレゼン
<http://www.takaaki.info/archives/000101.html> で出てきた、
マジカルインクリメントで「perl」という文字列を表示するコード
my $A="a";for(1..285075){$A++;}print"$A";
(出典:<http://www.perlmonks.org/?node_id=137638>)

それに関連して、
「指定した文字列が文字列インクリメントで何番目になるか」という問題。
<http://hori-uchi.com/archives/000243.html>
文字aをインクリメントしていくと、285075番目がperlという文字列にな
るということですが、ふと「horiuchi」は何番目なんだろうと気になり[...]

26進数と考えて以下のようにやってみました(数字無し、小文字を仮定)。
% perl -e '@A=reverse split//,"horiuchi";for(@A){$s+=(ord($_)-96)*
(26**$i++)};print $s-1,"\n";'
69106566940

うむ、miyagawa 氏の解のループの方が洗練されてる...
% perl -e '$n=0;$n=$n*26+ord($_)-ord("a")+1 for split//,"horiuchi";
print $n-1,"\n"'

ともかく、ざっくり試算すると普通に69106566940回文字列インクリメン
トすると、1, 2日はかかりそう。