問題
次の情報が与えられている。
1900年1月1日は月曜日である。
9月、4月、6月、11月は30日まであり、2月を除く他の月は31日まである。
2月は28日まであるが、うるう年のときは29日である。
うるう年は西暦が4で割り切れる年に起こる。しかし、西暦が400で割り切れず100で割り切れる年はうるう年でない。
20世紀(1901年1月1日から2000年12月31日)で月の初めが日曜日になるのは何回あるか。
問題を解いたプログラム
def current = Calendar.getInstance()
current.set(1901, 1, 1)
def end = Calendar.getInstance()
end.set(2000, 12, 31)
int sundayCount = 0
while (current <= end) {
if (current.get(Calendar.DAY_OF_WEEK) == Calendar.SUNDAY) {
sundayCount++
}
current.set(Calendar.MONTH, current.get(Calendar.MONTH) + 1)
}
println "sundayCount = ${sundayCount}"