どーも、みつおです。
問題
次の情報が与えられている.
- 1900年1月1日は月曜日である.
- 9月, 4月, 6月, 11月は30日まであり, 2月を除く他の月は31日まである.
- 2月は28日まであるが, うるう年のときは29日である.
- うるう年は西暦が4で割り切れる年に起こる. しかし, 西暦が400で割り切れず100で割り切れる年はうるう年でない.
20世紀(1901年1月1日から2000年12月31日)中に月の初めが日曜日になるのは何回あるか?
出典:Problem19
解答
using System;
namespace Problem19
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine(Solve());
            Console.ReadLine();
        }
        private static int Solve()
        {
            int ret = 0;
            DateTime start = new DateTime(1901, 1, 1);
            DateTime end = new DateTime(2000, 12, 31);
            for (DateTime now = start; now <= end; now = now.AddDays(1))
            {
                //月の1日でなければスルー
                if (now.Day != 1) continue;
                //日曜日なら+1
                if (now.DayOfWeek == DayOfWeek.Sunday) ret++;
            }
            return ret;
        }
    }
}
出力
171
 
  
  
  
  


コメント