円周率っぽいものを出力する、ものすごく小メモリ、高速なプログラム
プレ前置き
アイディアそのものは、高校の先生から教えてもらったものです。
今(最初)はCのコードしかありませんが、時間があったらいろいろな言語のものを書き足していく予定です。
前置き
円周率を計算しまくると、計算結果だけで数テラバイトになるそうな。
プログラム中で
S = r * r * PIE;
なんて書こうものなら、数テラバイトの定数がプログラム中に置かれ、メモリ上に読み込まれるのでしょう。
……正直3.14でいいです。そんなに高い精度まで計算したところで誰も使いません。
ですが「円周率がn桁まで求まったよ!!」というのは、
「文明の進歩の尺度の一つ」
になるんです。人類の進歩の証なんです。それにベンチマークにもなるし。
Cによる実装
#include <stdio.h> #include <stdlib.h> int main(void) { printf( "3.14"); for(;;) printf( "%d", rand()); return 0; }