「プロジェクトオイラー問85」の編集履歴(バックアップ)一覧はこちら

プロジェクトオイラー問85」(2014/03/03 (月) 16:25:23) の最新版変更点

追加された行は緑色になります。

削除された行は赤色になります。

http://odz.sakura.ne.jp/projecteuler/index.php?cmd=read&page=Problem%2085 *Problem 85 「長方形の数え上げ」 † 注意深く数えると, 横が3, 縦が2の長方形の格子には, 18個の長方形が含まれている. ぴったり2,000,000個の長方形を含むような長方形の格子は存在しない. 一番近い解を持つような格子の面積を求めよ. 解法 w<=Hとしても一般性を失いません。 wを定めたら条件を満たすhは2次方程式の解となるのでその近辺の整数を探すだけです。 hanni(X,X1):- between(-2,2,D), X1 is X+D. calc([Sa,H1,W,S]):- between(1,3000,W), D is (8000*1000)//(W*W+W), D>0, H is floor((-1+sqrt(1+D*4))/2), (H<W->!,fail;true), hanni(H,H1), H1>0, Sa is abs(2000*1000-(H1*(H1+1)*W*(W+1))//4), S is H1*W. main85:- findall(E,calc(E),All), sort(All,[Ans|_]), write(Ans).

表示オプション

横に並べて表示:
変化行の前後のみ表示: