update.二乗すると回文数となる数で、二乗する前の数が回文でない正の整数を求めるプログラムを書いてみました。ように、逆から読んでも同じ数になる数字のことです。}PalindromicSquareクラスがその解を求めるクラスで、Solveメソッドは、IEnumerabl<int>を返すメソッドとしています。速くなるように、回文かどうかを判定するIsPalindromeでは、文字列を反転させ比較するのではなく、文字列の両端から内側に向かって比較するようにしています。i)をIsPalindrome(i)よりも先に呼び出すようにしています。iが回文となる確率の方が低いはずですから、以下のコードよりもメソッドの呼び出し回数が減り多少速くなります。i;このプログラムでは、100000000以下の値を対象にしました。手元のPCだと、30秒弱で答えが求まりました。これよりも大きな値を対象にすると、もっと速度を上げる必要がありますが、処理速度を上げるには根本的にアルゴリズムを考え直す必要がありそうです。残念ながら、その答えを持ち合わせていません。Solveメソッドは(IsPalindromeも含めて)、LINQ使えば、もっと簡潔に書けると思います。このプログラムでは、Timewatchというクラスを定義し、簡単に時間計測ができるようにしています。Pageで公開したものを加筆・修正したものです。upLoginユーザーは見つかりませんでした。