「プロジェクトオイラー解説問4」の編集履歴(バックアップ)一覧に戻る

プロジェクトオイラー解説問4 - (2014/01/09 (木) 09:02:23) のソース

b----
*Problem 4 「最大の回文積」 †
http://odz.sakura.ne.jp/projecteuler/index.php?cmd=read&page=Problem%204 

左右どちらから読んでも同じ値になる数を回文数という. 2桁の数の積で表される回文数のうち, 最大のものは 9009 = 91 × 99 である. 
では, 3桁の数の積で表される回文数の最大値を求めよ.

----
解法1
組み合わせ数が少ないので全部検討しても十分間に合います。
a=100~999=900個
b=100~999=900個
としても
全部で81万個の数字の検討にしかなりません。
パソコンでは処理回数が5億回で1秒と考えてください81万回の検討程度なら瞬きする間に終わります。
c=a*b
とします。
100*100=10000<=c<=999*999=998001

10000<=c<=998001
となります。
cの桁数によらずに回文となってるか判別する方法は簡単です。


具体例で考えてみましょう。
cが256632だったとします。
cを整数型とし配列aを考えます。
cを各桁に分解して計算します。