projectEuler32をpythonで
Problem32「パンデジタル積」
すべての桁に 1 から n が一度だけ使われている数をn桁の数がパンデジタル (pandigital) であるということにしよう: 例えば5桁の数 15234 は1から5のパンデジタルである.
7254 は面白い性質を持っている. 39 × 186 = 7254 と書け, 掛けられる数, 掛ける数, 積が1から9のパンデジタルとなる.
掛けられる数/掛ける数/積が1から9のパンデジタルとなるような積の総和を求めよ.
HINT: いくつかの積は, 1通り以上の掛けられる数/掛ける数/積の組み合わせを持つが1回だけ数え上げよ.
細かいミスはあったもののそこまで苦戦はしませんでした。
解答
注意するべきは、求める「掛けられる数、掛ける数、積」のパターンには「一桁、四桁、四桁」と「二桁、三桁、四桁」の2パターンが存在することです。
実行すると、
となりました。これでOK。