我需要帮助理解为什么我对Euler项目的问题19得到了错误的答案.问题是:您获得了以下信息,但您可能更愿意为自己做一些研究.
1900年1月1日是星期一.三十天有九月,四月,六月和十一月.所有其他人都有三十一人,仅拯救二月,其中二十八,风雨无阻.在闰年,二十九岁.闰年可以被4整除,但除非可以被400整除,否则不是一个世纪.在二十世纪的第一个月(1901年1月1日至2000年12月31日),有多少个星期日下降?
#rm(list=ls()) days=seq(from=as.Date("1900/1/1"), to=as.Date("2000/12/31"), by="month") firstSundays=days[weekdays(as.Date(days))=="Sunday"&months(as.Date(days))=="January"] length(firstSundays)
它给我的答案是14,当我第一次看到它时,它给了我:
[1] "1905-01-01" "1911-01-01" "1922-01-01" "1928-01-01" "1933-01-01" [6] "1939-01-01" "1950-01-01" "1956-01-01" "1961-01-01" "1967-01-01" [11] "1978-01-01" "1984-01-01" "1989-01-01" "1995-01-01"
我不明白这里发生了什么.有人可以解释一下吗?我对R很新,我不确定我做错了什么.
要在R中计算它,您可以执行以下操作:
firsts_of_months <- seq(as.Date("1901-01-01"), as.Date("2000-12-01"), by = "1 month") sum(weekdays(firsts_of_months) == "Sonntag") # use == "sunday" or your local language