Project Euler 52
- 6 倍しても桁が変わらないので、最上位の桁は 1 のはず。
using System; using System.Collections.Generic; using System.Linq; class PE052 { static void Main() { for (int i = 1; /* */; i++) { string s = "1" + i; // 6 倍しても桁数が同じなので、最上位は 1 となる int n = int.Parse(s); var cs = s.ToCharArray(); Array.Sort(cs); bool found = true; for (int j = 2; j <= 6; j++) { var x = (n * j).ToString().ToCharArray(); Array.Sort(x); if (!cs.SequenceEqual(x)) { found = false; break; } } if (found) { Console.WriteLine(n); break; } } } }
Project Euler 52,53 - 桃の天然水 をみています。a の範囲がなぜそうなるのか理解できない……。