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

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

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

int main();

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

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

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

●文字数カウントルール
動作上不要なコメント、スペース、タブ、改行は文字数に含めない
言語上必要なスペース、タブ、改行はカウントする(改行は1文字とする)
0002デフォルトの名無しさん2009/03/24(火) 20:29:33
ダメな例
int main(){ return sizeof(int); }           // 環境依存
int main(){ return (unsigned int)-1/2; }    // 環境依存
int main(){ return 'z'; }               // 環境依存
int main(){ return 1.0/0.0; }            // 環境依存
int main(){ int a = 9; return a <<= a <<= a; }  // 未定義動作
int main(){ int a = 9; return ++a * ++a; }     // 未定義動作
int main(){ quit(9) }                // main の戻り値じゃない、ライブラリ使用不可
int main(){ while(1) printf("9"); }        // main の戻り値じゃない、ライブラリ使用不可
int main(){ return 1.0/【>>1の知能指数】; }  // ネタとしてもいまいち
int main(){ return 【このスレでの最大値】+1 ; }    // ネタとしてもいまいち

小さいものの例
int main(){return 9;} // 21文字
int main(){return 99;} // 22文字
int main(){return 999;} // 23文字
int main(){return 9999;} // 24文字
int main(){return 9<<99;} // 25文字

ちょっと大きい数の例 (50文字)
int main()
{
  int n=99,m=n;
  while(m--)
    n<<=n;
  return n;
}
■ このスレッドは過去ログ倉庫に格納されています