読者です 読者をやめる 読者になる 読者になる

Project Euler 28

Problem 28

using System;

class PE028 {
    static int Calc(int size) {
        // N x N サイズのとき、4 隅の一番大きな数字は N^2
        // 4 隅の数字のうち、一番大きな数字を除いた残りの数字は
        // N^2 - (n - 1) * 1
        // N^2 - (n - 1) * 2
        // N^2 - (n - 1) * 3
        // となる

        int n = 1;
        int sum = 1;
        while (n < size) {
            n += 2;
            sum += n * n;
            sum += n * n - ((n - 1) * 1);
            sum += n * n - ((n - 1) * 2);
            sum += n * n - ((n - 1) * 3);
        }
        return sum;
    }

    static void Main() {
        Console.WriteLine(Calc(1001));
    }
}