トップページ⇒tech
523コメント255KB

■■C++で大きな数を作るスレ■■

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん2009/03/24(火) 20:27:50
C++ で大きな数を返すプログラムを作るスレです。
以下のプロトタイプの関数の戻り値で出来るだけ大きな数を返すものを作りましょう。

int main();

●ルール
最大でも1スレに収まる範囲とし、
1スレで完結したプログラムとしてください。
文字数も書いてください

●言語仕様
言語は C++ 2003 準拠とします
int と float は十分な精度があるとします
メモリは十分にあるとします
実行時間は問わないこととします

機種依存、コンパイラ依存の値が返るプログラムは不可
プリプロセッサ、ライブラリの使用は不可

●文字数カウントルール
動作上不要なコメント、スペース、タブ、改行は文字数に含めない
言語上必要なスペース、タブ、改行はカウントする(改行は1文字とする)
0113デフォルトの名無しさん2009/04/05(日) 23:08:24
>>109
そりゃそうですね。書きます。
その文字数以内で最大の物はそれより小さい文字での最大のものより大きい説明を、
最大でないものはより文字数が小さいものorより値が大きいものとの比較を
書いていきます。

■ >>10-17,40,64,84,86,89,98,99,103
ルール違反

■ >>2
50文字
初期値 n=99 に対して、n<<=n を 100 回行っている。
>>96 の 初期値 x=9 に対し、x=9<<x を9回行ったものより明らかに大きい。
【50文字以下最大】

■ >>9
>>47で同じ数字を86文字で表現

■ >>21
>>28の3行目で同じ数字を53文字で表現している

■ >>22
>>102の方が明らかに大きい

■ >>28
>>56で同じ値を52文字で表現している
0114デフォルトの名無しさん2009/04/05(日) 23:09:06
■ >>32
>>102の方が明らかに大きい

■ >>35
>>102にまとめて記述
41文字以下のどの作品よりも明らかに大きい
【42文字以下現在最大】

■ >>39
これは99の階乗。
99の階乗 < 99の99乗 < 128の99乗 = 2の693乗 < 2の(9<<99)乗 < 9<<(9<<99)

■ >>56
24文字
>>102にまとめて記述
【24文字以下現在最大】

52文字
初期値 i=9e99 に対して、i<<=i を 9e99+1 回行っている。
>>2 の50文字の作品よりも明らかに大きい
【52文字以下現在最大】

■ >>57
>>102にまとめて記述
【23文字以下現在最大】
0115デフォルトの名無しさん2009/04/05(日) 23:10:14
■ >>75
>>77 で同じ値を118文字で表現している

>>77 の k(x,y,1) も xのy乗となる為、
『 >>75 の k(x,y,n) 』= 『 >>77 の k(x,y,n) 』
>>75 の G(w) は 初期値 z=4 に対し z=k(3,3,z) をw回繰り返したものであり、
>>75 と >>77 の118文字は同じ値を返す。

■ >>88
>>102にまとめて記述
【21文字以下現在最大】

■ >>91
96の43文字の方が明らかに大きい

■ >>96
返る値は
9<<(9<<(9<<(9<<(9<<(9<<(9<<(9<<(9<<9))))))))
であり、
42文字以下の >>102 のいずれよりも明らかに大きい
【43文字以下現在最大】

■ >>101
>>102の29文字の方が明らかに大きい
■ このスレッドは過去ログ倉庫に格納されています