2009-02-08から1日間の記事一覧

平方数かどうか、改めdoubleの丸めに関する話

cpp

http://topcoder.g.hatena.ne.jp/nitoyon/20090208/1234068839「c++の1.0の型って何だろう」って思った。まあsqrtはdoubleの引数を取れるみたいなのでdoubleで渡すということにしてみる。doubleの仮数部の精度は52bitだから、大雑把に言って12bit足りない。1…

include.pyについて

言語化された解説がないので適当に説明。 // BEGIN CUT HERE #include "../lib/debugprint/debugprint.hpp" #include "../lib/toolbox.cpp" /*** AUTO_INCLUDE ***/ // END CUT HERE int main(){ DP(IsPrime()(97)); } DPはデバッグプリント用のマクロなので…

BitbucketにTopCoderレポジトリを作ろうかなと思っている

理由 C++のコードって長いからブログに貼ると割とうっとうしい 「ここをこう修正した」ってのはやっぱdiffでやるほうがみやすい やっぱり「壊しそうな修正」をする前にはコミットをしたい プラクティスルームに入り直してテストをするときにうっかりプラグイ…

TopCoder SRM434 Div1

むー、ついに二軍に落ちてしまった。 250-points FindingSquareInTable 0〜9の数字が書かれた升目がある。x座標とy座標が等差数列になるような升目の数字をつなげて作られる数のうち、もっとも大きな平方数を返せ。ないなら-1を返せ。という問題。 bool is_s…

平方数かどうかの判定

cpp

さっさとこうすればよかったんじゃないか。 int main(){ ULL n = 0; ULL oldn; ULL i = 0; while(true){ ULL rt = ULL(sqrt(double(n))); if(rt * rt != n || rt != i){ MSG(NG); DP(i); break; } i++; oldn = n; n += i * 2 - 1; if(oldn > n) break; } MSG…