Project Euler 5

Problem 5

and と i のいずれでも割り切れる数は不要なので gcd で取り除く。lcm で求める方法もある。

using System;

namespace PE {
    public class PE005 {
        public static void Calc() {
            int ans = 1;
            for (int i = 1; i <= 20; i++) {
                ans = ans / Util.Gcd(ans, i) * i;
            }

            Console.WriteLine(ans);
        }        
    }
}
  • ans と i との乗算を先に行うと、int だとオーバーフローする。