CodeIQ「ツイン・トライアングル」問題 みんなのコード

0
Kawazoe @riverplus

明日で「ツイン・トライアングル」問題の掲載期間が終了です。例によって終了したらみなさまのコードを公開して下さい。よろしくお願いします! codeiq.jp/q/2463 @codeiqさんから

2015-12-03 23:01:22
angel (as ㌵㌤の猫) @angel_p_57

@riverplus はてなブログに投稿しました #CodeIQ #はてなブログ 「ツイン・トライアングル」問題解答 ( CodeIQ ) - ange1のブログ ange1.hateblo.jp/entry/2015/12/… pic.twitter.com/Zhgk6xGy8m

2015-12-04 10:00:09
拡大
小指が強い人 @hp_prolog

@riverplus 「ツイン・トライアングル」問題の解答です。ideone.com/r8aByX

2015-12-04 11:44:26
あんちもん2 @antimon2

@riverplus @codeiq 提出解(Haskell)ideone.com/Zwl5j1 と、改良してL=10^12で1s切れるようになった解(Haskell)ideone.com/rBSJTB

2015-12-04 12:36:00
angel (as ㌵㌤の猫) @angel_p_57

@antimon2 @riverplus @codeiq あんちもん2さんの提出解と私のnaive版、基本同じですよね。HaskellとCとでべら棒 ( 10倍以上 ) に速度差があるということに…?

2015-12-04 12:52:19
putStr @putStr

@riverplus 「ツイン・トライアングル」問題提出分 (ideone.com/SayN7N)。

2015-12-04 12:52:56
あんちもん2 @antimon2

@angel_p_57 @riverplus @codeiq いえ、提出解はそちらの言うところの i=n,j=m-n 置換する前のものである上に、上界をかなり緩くしているので、その分遅くなっているだけです。むしろ改良解とそちらのnaive解の方が近いかと。

2015-12-04 12:56:01
あんちもん2 @antimon2

@angel_p_57 @riverplus @codeiq あと速度差があるとすれば、HaskellのIntの精度は環境依存(保証されているのは32bit以下)なので、多倍長整数であるIntegerを利用している点、でしょうかね。

2015-12-04 12:59:11
angel (as ㌵㌤の猫) @angel_p_57

@antimon2 @riverplus @codeiq なるほど。上界の緩さがあったのですね。m,n で回すか i,j で回すかは、処理負荷のほとんどが gcd に集中するところから、余り違いはないと思っていました。

2015-12-04 13:01:23
あんちもん2 @antimon2

@angel_p_57 @riverplus @codeiq あ、ちなみにゴルフ解はその改良解(そちらのnaive解)+上界ゆるゆるで、L≦10^5なら正しい答えを出すものがRuby91、L上限なし版がRuby102でした(未公開)。

2015-12-04 13:08:51
angel (as ㌵㌤の猫) @angel_p_57

@antimon2 @riverplus @codeiq おお…。ちゃんと1tweetに収めるコードも作っていたとは。( 今回は手が回らなかったというか、高速化に集中していたというか… )

2015-12-04 13:15:35
haruya @haruya1212

コード公開します。 ideone.com/hZx3tr Ruby。ideone で L=10^12 程度まで。 「ツイン・トライアングル」問題 codeiq.jp/q/2463 @codeiq @riverplus さんから

2015-12-04 17:16:27
Kawazoe @riverplus

「ツイン・トライアングル」問題、自分のコードです。ideone.com/jlR1yo 解説はちCodeIQ Magazineにて書かせていただきます。

2015-12-05 02:23:50