Project Eulerむずかしい!

「プログラムで解く数学の問題集」であるProject Eulerに挑戦しています。
例えば、こんな問題。

左右どちらから読んでも同じ値になる数を回文数という。 2桁の数の積で表される回文数のうち、最大のものは 9009 = 91 × 99 である。
では、3桁の数の積で表される回文数のうち最大のものはいくらになるか。
Problem 4 - PukiWiki

10以下の素数の和は2 + 3 + 5 + 7 = 17である.
200万以下の全ての素数の和を計算しなさい.
Problem 10 - PukiWiki

Perlでプログラムを書いて解いているのだけれど、自分の知識や発想が貧弱でなかなか難しい。
関係ありそうなキーワードで検索して、アルゴリズム(エラトステネスの篩なんて初めて聞いたぞ)や他の言語で書かれたプログラムを参考にしないと、全然解けない。
とりあえず合計16問は解けたけど、これが限界かなー。