トップページに戻る    次のC#のサンプルへ    前のC#のサンプルへ

Problem52 2X,3X,4X,5X,6XがXと同じ数を含む

問題

125874を2倍すると251748となる. これは元の数125874と同じ数を含む.
2X,3X,4X,5X,6XがXと同じ数を含むような最小の正整数Xを求めよ.


ソース

using System;
using System.Linq;

class Program
{
    static void Main()
    {
        for (int I = 1; I <= 200000; I++) {
            string StrI = I.ToString();
            bool IsOK = true;
            for (int J = 2; J <= 6; J++) {
                IsOK = (I * J).ToString().All(X => StrI.Contains(X));
                if (IsOK == false) break;
            }
            if (IsOK) {
                Console.WriteLine("Answer={0}", I);
                break;
            }
        }
    }
}


実行結果

Answer=142857


解説

All拡張メソッドは便利ですね。