明日で「ツイン・トライアングル」問題の掲載期間が終了です。例によって終了したらみなさまのコードを公開して下さい。よろしくお願いします! codeiq.jp/q/2463 @codeiqさんから
2015-12-03 23:01:22@riverplus はてなブログに投稿しました #CodeIQ #はてなブログ 「ツイン・トライアングル」問題解答 ( CodeIQ ) - ange1のブログ ange1.hateblo.jp/entry/2015/12/… pic.twitter.com/Zhgk6xGy8m
2015-12-04 10:00:09@riverplus @codeiq 提出解(Haskell)ideone.com/Zwl5j1 と、改良してL=10^12で1s切れるようになった解(Haskell)ideone.com/rBSJTB
2015-12-04 12:36:00@antimon2 @riverplus @codeiq あんちもん2さんの提出解と私のnaive版、基本同じですよね。HaskellとCとでべら棒 ( 10倍以上 ) に速度差があるということに…?
2015-12-04 12:52:19@angel_p_57 @riverplus @codeiq いえ、提出解はそちらの言うところの i=n,j=m-n 置換する前のものである上に、上界をかなり緩くしているので、その分遅くなっているだけです。むしろ改良解とそちらのnaive解の方が近いかと。
2015-12-04 12:56:01@angel_p_57 @riverplus @codeiq あと速度差があるとすれば、HaskellのIntの精度は環境依存(保証されているのは32bit以下)なので、多倍長整数であるIntegerを利用している点、でしょうかね。
2015-12-04 12:59:11@antimon2 @riverplus @codeiq なるほど。上界の緩さがあったのですね。m,n で回すか i,j で回すかは、処理負荷のほとんどが gcd に集中するところから、余り違いはないと思っていました。
2015-12-04 13:01:23@angel_p_57 @riverplus @codeiq あ、ちなみにゴルフ解はその改良解(そちらのnaive解)+上界ゆるゆるで、L≦10^5なら正しい答えを出すものがRuby91、L上限なし版がRuby102でした(未公開)。
2015-12-04 13:08:51@antimon2 @riverplus @codeiq おお…。ちゃんと1tweetに収めるコードも作っていたとは。( 今回は手が回らなかったというか、高速化に集中していたというか… )
2015-12-04 13:15:35コード公開します。 ideone.com/hZx3tr Ruby。ideone で L=10^12 程度まで。 「ツイン・トライアングル」問題 codeiq.jp/q/2463 @codeiq @riverplus さんから
2015-12-04 17:16:27「ツイン・トライアングル」問題、自分のコードです。ideone.com/jlR1yo 解説はちCodeIQ Magazineにて書かせていただきます。
2015-12-05 02:23:50「ツイン・トライアングル」問題 codeiq.jp/q/2463 解答。 ideone.com/2cRaAX @riverplus #CodeIQ
2015-12-05 09:55:10