Project Euler : Problem 19 『Counting Sundays』

SundaySunday / David McKelvey
projecteuler.net


問題

 1901年1月1から2000年12月31日までの間、日曜日から始まる月はいくつあるか?


毎月の1日が何曜日か分かればいい

 総当たりでカウントすればいいよね。
1200の月を調べればいいだけなので、ループ回してもすぐ終わる。


コード
using System;
using System.Diagnostics;

namespace Problem19
{
    class Program
    {
        static void Main(string[] args)
        {
            int count = 0;

            for (int y = 1901; y <= 2000; y++)
            {
                for (int m = 1; m <= 12; m++)
                {
                    if (new DateTime(y, m, 1).DayOfWeek.ToString() == "Sunday")
                    {
                        count++;
                    }
                }
            }

            Debug.WriteLine(count);
        }
    }
}
答え

 171



Sunday, Monday, Tuesday 日ようび、月ようび、火ようび

Sunday, Monday, Tuesday 日ようび、月ようび、火ようび

毎日が日曜日

毎日が日曜日