当前位置:  开发笔记 > 编程语言 > 正文

项目欧拉#19在R

如何解决《项目欧拉#19在R》经验,为你挑选了1个好方法。

我需要帮助理解为什么我对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很新,我不确定我做错了什么.



1> talat..:

要在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


项目欧拉要求不公布答案.你介意(至少)从这篇文章中删除数字答案吗?
推荐阅读
oDavid_仔o_880
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有