辺の長さと面積が整数になる、「ほぼ正三角形」を見つける問題です。
始めに総当たりで解くやつを作ったら、10時間かかりました。さすがにこれはだめなので、恒例の逆から考えるパターンです。
READ MORE
始めに総当たりで解くやつを作ったら、10時間かかりました。さすがにこれはだめなので、恒例の逆から考えるパターンです。
4つの数字を加減乗除して作れる数を求める問題です。
しばらく考えてはみたのですが、総当たり以外にやりかたはなさそうなので、それで実装してます。
2分くらいかかってしまっていますが、まあ、よしとします。
数の各桁の数を二乗した和を並べた数が89でループする場合を数える問題です。
操作からすると、345と435と543などの同じ構成の数は同じ結果になるので、それをうまく使えばメモ化で速くなりそうなので、やってみた。
数を数列にしてソートする。0はなくても同じなので除外する。そうしてできた数列で判定する関数を作ってメモ化する。
解けたんだけど、遅い。
ふと、元の数をつくるのにどれくらいかかるか計算してみたら、それだけで2分近くかかってる。こりゃだめだ。 どうしよう。
READ MORE
操作からすると、345と435と543などの同じ構成の数は同じ結果になるので、それをうまく使えばメモ化で速くなりそうなので、やってみた。
数を数列にしてソートする。0はなくても同じなので除外する。そうしてできた数列で判定する関数を作ってメモ化する。
解けたんだけど、遅い。
ふと、元の数をつくるのにどれくらいかかるか計算してみたら、それだけで2分近くかかってる。こりゃだめだ。 どうしよう。
格子点を使って直角三角形を作る問題です。
まずは、格子から2点を取って、原点合せた3点でできる三角形が直角を含むかどうかをチェックしてみたのですが、10分という想像以上の時間がかかってしまい、別解を考えました。
このとき、「直交するベクトルの内積は0になる」なんていうのを使ったのですが、かなり懐かしい感じでした。
やっとこさ90番まで来ました。
ダイスの目を使って、2桁までの2乗数を作る問題です。
結果的には総当たりで解いたのですが、うまい方法ほないかなーっとつらつら考えていたりして、そこそこ時間はかかりました。
一番考えたのは、あるダイスがあったときに、題意を満たすもう一方のダイスの目を特定できないかということなのですが、条件を絞ることができずにあきらめました。