2012-02-18 22 views
4

nフィボナッチを見つけるための行列指数関数コードを提出しましたが、n番目のフィボナッチの10000007のモジュロを格納するためにlong long int変数を使用していました。裁判官は "time limit exceeded"しかし、私が "unsigned long long int"を使用したとき、私のコードはその時間内に受け入れられ、実行時間は短縮されました。符号なしlong long int

long intが "時間制限を超えていました"と "unsigned long long int"が与えられた理由を理解できませんでしたか? (両方のケースで極端なテストケースの回答が正しい)

+0

あなたは、裁判官のマシン上のアーキテクチャがあなたのものと同じであるという自信を持っていますか? –

+9

http://stackoverflow.com/questions/4712315/performance-of-unsigned-vs-signed-integers –

+0

どのアーキテクチャを使用していましたか? – jmq

答えて

5

他の人の努力を複製しないようにするには、同じトピックのthis questionmore advanced question and answersを参照してください。 this onedthorpeの回答も非常に詳細です。 wheaties '最初のコメントhereは、最初の試行としてチェックする価値があります。

+0

私はunsignedをdoubleと混在させるとオーバーヘッドがありますが、私のコードは乗算を扱い、 "unsigned int"は "int"より速く動作しています。そして今、私は両方の種類のアセンブリコードを比較して乗算をチェックすることもできます乗算の... –

関連する問題