"今年的10月份有五个星期六,五个星期天,五个星期一!这样的年份每823年才有一次。这些特殊的年份叫做钱袋年!"
真的823年才一次吗?小朋友们来算一下,结果多了去了:
using System; namespace MoneyWeek { class Program { static void Main(string[] args) { int m = 0; int c1 = 0, c7 = 0, c6 = 0; DateTime dt = new DateTime(1, 1, 1); while (dt.Year < 9999) { if (m != dt.Month) { if (m == 10 && c1 >= 5 && c6 >= 5 && c7 >= 5) // 10月份有5个星期六,5个星期天,5个星期一 { Console.WriteLine(dt.ToString("yyyy") + "年" + m + "月:周一:" + c1.ToString() + " 周六:" + c6.ToString() + " 周日:" + c7.ToString()); } m = dt.Month; c6 = c7 = c1 = 0; } if (dt.DayOfWeek == DayOfWeek.Monday) { ++c1; } if (dt.DayOfWeek == DayOfWeek.Saturday) { ++c6; } if (dt.DayOfWeek == DayOfWeek.Sunday) { ++c7; } dt = dt.AddDays(1); } } } }