*Problem 142 「完全平方数コレクション」 † http://odz.sakura.ne.jp/projecteuler/index.php?cmd=read&page=Problem%20142 x + y, x - y, x + z, x - z, y + z, y - zが全て平方数となる整数の組 x > y > z > 0で, 最小の x + y + z を求めよ. ただいま記述中。 解法 この問題は深さ制限探索で解きます。 まず式に名前を与えます。 -式A x+y=S1 -式B x-y=S2 -式C y+z=S3 -式Dy-z=S4 -式E x+z=S5 -式F x-z=S6 と定義します。(S1~S6は当然平方数) 探索を行うに当たってできるだけ早めに、式が条件を満たせば x>y>zよりx+yが一番大きな数となるのでS1の上限を適当に定めます。(答えが見つからなかったらS1を増加させてコードを再実行します)。 S1の上限をn1^2とするとS1は S1=(4,9,16,,,,n1^2)の値をとります。 まずS1とS2はx+yとx-yですからxはS1、S2から等距離にあることがわかりこれはS1とS2の平均です。 x=S1+S2