トップページに戻る
次のC#のサンプルへ
前のC#のサンプルへ
Problem4 3桁の数の積で表される回文数のうち最大のもの
問題
左右どちらから読んでも同じ値になる数を回文数という。
2桁の数の積で表される回文数のうち、最大のものは 9009 = 91 × 99 である。
では、3桁の数の積で表される回文数のうち最大のものはいくらになるか。
ソース
using System;
using System.Linq;
class Program
{
static void Main()
{
int MaxInt = 0;
string MaxStr = "";
for (int I = 100; I <= 999; I++) {
for (int J = I; J <= 999; J++) {
int wkInt = I * J;
if (wkInt < MaxInt) continue;
string AscStr = wkInt.ToString();
string DescStr = new string(AscStr.ToCharArray().Reverse().ToArray());
if (AscStr == DescStr) {
MaxInt = wkInt;
MaxStr = string.Format("{0}*{1}={2}", I, J, wkInt);
}
}
}
Console.WriteLine(MaxStr);
}
}
実行結果
913*993=906609
解説
string型の反転に手惑いました。