このページの問題を、基本的には上から解いていこうかと思っている。
『図のように、10本の長さも太さも同じ釘が打たれた板があります。釘と釘の間は、たても横も1cmずつ、はなれています。
この釘に輪ゴムをかけて、面積が2cm^2の三角形を作ります。考えられる輪ゴムのかけ方を、すべて書き出しなさい。
選ぶ釘が違えば、形が同じでも別の三角形とみなします。
(解答らんは12個用意しましたが、答えが12個とは限りません。1つの解答らんには答えとなる三角形を1つ書いてください。)
』
人間の方法にこだわらなければ簡単で、3点のそれぞれxとyの差分で、ピタゴラスの定理で辺の長さを出していって、3辺の長さで三角形が確定するので、その面積が2cm^2かを確認すれば良い。それを全通りでやれば良い。
人間の方法にこだわるなら、一つの2cm^2の三角形をまず作って、「3点全てをxかyで同じ方向に1つ移動させる」か「別の2点のy\xの変化の割合で整数になる点に移動する」、の2種類のステップで、結果的に人間が想定するような基本的な形は網羅できるだろう。
result_listを作って、出た結果を格納していって、その中と被らない場合に再帰のような形でまたあり得る全ての手を検討する。それを続けて何もやることが無くなったら、それが結果なはずだ。
プログラムは書かない。最初の方法で良いと思うし。
『図のようにたて、よこそれぞれ1cmの等しい間かくで合計100個の点がならんでいます。この100個の点から4つの点を結んでできる面積が36cmの正方形は全部でいくつできますか。
』
回転とかするのかなと思ったらそうでは無く、しかし、答えに16個と書いてあるけど、25個なんだよなあ。
いや…16個だった。