ニコニコの投コメで円周率2525桁を表示

ニコニコ動画の投稿者コメント(ニワン語)を用いて、円周率2525桁を表示するスクリプトを書いています。関連する自分の発言、取り組みをまとめました。
1
shin @shin_nicogi

何それ面白そう。圧縮して埋め込んで表示が簡単かな。あえて、遅いニワン語で計算に挑戦するのもありかも。 RT @Ender_CAS : ニワン語1000コメ以内で円周率を何桁まで表示できるかというイベントが成り立つと思いますか?

2012-05-11 21:37:45
shin @shin_nicogi

@g0gaga ありだと思います。自分としては1000コメでなくてコメ数も限定されているほうが萌えますがw

2012-05-11 21:41:19
shin @shin_nicogi

@Ender_CAS 桁数が多くて出力が難しいので、自分もコメ数限定で桁数を減らすのもいいと思います。

2012-05-11 21:45:44
shin @shin_nicogi

@Ender_CAS 1000桁だと,0::/dt(3.1415...) 1行で終わってしまうので、それ以上でしょうか。

2012-05-15 20:21:53
shin @shin_nicogi

@Ender_CAS これ円周率を表示する部分(dt)も文字数にカウントするのでしょうか? それとも、ある変数に"3.14159・・・"が入っていればよしですか? 前者なら表示方法を統一した方がよいのではと思います。

2012-05-20 16:52:42
shin @shin_nicogi

@Ender_CAS そうですね。あと実計算の方ですが、これは基準を統一するの難しいかもしれません。たとえば、1時刻に10000回ループを回すことは一応可能ですが、環境によってはクラッシュすると思います。こういう無茶なループを許容するのかどうかなど。

2012-05-21 01:48:55
shin @shin_nicogi

250万回程度のループで円周率を2000桁程度計算するプログラム見つけた。これどうだろう。ニワン語で実装できるかな。無茶な気もするが。

2012-05-21 23:59:33
shin @shin_nicogi

@g0gaga 文字列として表示でしょうかね。 2525桁できましたかー かなり重そうですね。 ちなみに16進数表示ってどんな感じですか??

2012-05-23 19:11:27
shin @shin_nicogi

@g0gaga なるほど!16進数でのπの各桁の値を直接求めてしまうわけですね。

2012-05-23 19:27:04
shin @shin_nicogi

ニワン語ループさせるすぎると落ちるのかな。求める円周率の桁数を増やそうとループ回数を増やすと、あるところで結果がでなくなる。

2012-05-23 20:27:17
shin @shin_nicogi

N.aNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaN

2012-05-23 20:41:17
shin @shin_nicogi

ひたすら1を表示するニワン語のスクリプト、100万個はいけたけど、1000万個ではNaNがでた。

2012-05-23 20:58:00
shin @shin_nicogi

やっぱり単位時間あたりの演算量の上限があるのかな。

2012-05-23 20:59:31
shin @shin_nicogi

ニワン語でもともと用意されているsinを使って円周率計算できないかな~ x.sinが0に近いほど、xは円周率に近いことを利用。桁が足りないけど、何か工夫できないか。

2012-05-29 19:10:04
shin @shin_nicogi

円周率2525桁表示は、がんばれば投コメ1行以内でかけるのかー

2012-06-04 00:31:28
shin @shin_nicogi

円周率2525桁をn進数でm桁ごとにできるだけ短く表す。 n + 2525* ([log10(n)] + 1) / [mlog10(n)] が最小になるようなn,mを探せばいいはず。 [x]はxを超えない最大の整数

2012-06-04 20:17:45
shin @shin_nicogi

n+2525m / [mlog10(n)] を最小にするn,mかな?? わからなくなってきた。

2012-06-04 20:28:49
shin @shin_nicogi

ニワン語円周率表示2525桁。圧縮系のスクリプト。総文字数1520文字。 http://t.co/57kpfquB

2012-06-04 21:39:23
shin @shin_nicogi

@g0gaga 圧縮率1/3と展開関数150字はできるかもしれませんね。ひらがなを数字で表す方法があればいいんですが。

2012-06-04 22:51:44
shin @shin_nicogi

@g0gaga そうですよね~ 000~999をそれぞれ1文字に割り当てるにしても、a="あいうえお・・・" (1000個) とかすると、これだけで1000文字超えちゃいますからねー。 円周率2525桁特有の性質ですか~

2012-06-04 23:02:22
shin @shin_nicogi

@g0gaga randは十分なデータがあればできるかもしれませんが、データの採集が大変そうです。 x^yはさっき考えてましたが、面倒になってやめましたw

2012-06-04 23:07:14
shin @shin_nicogi

ニワン語で円周率を圧縮する新しい方法を思いついた。明日が休みならすぐに試行してみたいんだけどな~

2012-06-05 01:58:05
shin @shin_nicogi

ニワン語2行(2048文字)で円周率5000桁を表示できそうな方法を思いついた。

2012-06-05 20:19:35
shin @shin_nicogi

@g0gaga 円周率圧縮方法考えました。000~999に漢字を割り当てます。普通にやると、漢字(辞書)定義に字数を食いますが、圧縮文字列p="・・"から辞書を生成(pに登場の漢字を重複なく取り出してsort)。pに1k個分の漢字が全て現れればいけます。2525桁では無理ですがw

2012-06-06 21:05:32
shin @shin_nicogi

@g0gaga たとえば、314,159,265にそれぞれ"衣","江","天"という漢字を割り当てていたら、p="衣江天・・"みたいな感じです。

2012-06-06 21:13:21