gpt4 book ai didi

language-agnostic - Code Golf : Calculate Orthodox Easter date

转载 作者:行者123 更新时间:2023-12-03 10:40:56 24 4
gpt4 key购买 nike

锁定。这个问题及其答案是locked因为这个问题是题外话,但具有历史意义。它目前不接受新的答案或互动。








挑战

使用最少的字符计算给定年份 (1900-2100) 中希腊东正教复活节 (http://www.timeanddate.com/holidays/us/orthodox-easter-day) 星期日的日期。

输入 只是“2010”形式的一年。它与您从何处获取(输入、CommandLineArgs 等)无关,但它必须是动态的!

输出 应该采用日-月-年的形式(比如 dd/mm/yyyyd/m/yyyy)

限制没有标准函数,例如 Mathematica 的 EasterSundayGreekOrthodox 或 PHP 的 easter_date() ,必须使用返回(不适用的公历)日期自动!

示例

2005 returns 1/5/2005
2006 returns 23/4/2006
2007 returns 8/4/2007
2008 returns 27/4/2008
2009 returns 19/4/2009
2010 returns 4/4/2010
2011 returns 24/4/2011
2012 returns 15/4/2012
2013 returns 5/5/2013
2014 returns 20/4/2014
2015 returns 12/4/2015

代码计数包括输入/​​输出(即完整程序)。

编辑:
我的意思是 东方 复活节日期。

引用: http://en.wikipedia.org/wiki/Computus

最佳答案

Python(101 140 132 115 个字符)

y=input()
d=(y%19*19+15)%30
e=(y%4*2+y%7*4-d+34)%7+d+127
m=e/31
a=e%31+1+(m>4)
if a>30:a,m=1,5
print a,'/',m,'/',y

这个使用 Meeus Julian algorithm但由于这个只在 1900 年到 2099 年之间有效,所以使用 Anonymous Gregorian algorithm 的实现马上就要来了。

编辑:现在 2005 已正确处理。感谢马克指出。

编辑 2:更好地处理了几年,感谢所有的投入!

编辑 3:应该适用于范围内的所有年份。 (抱歉劫持了 Juan。)

关于language-agnostic - Code Golf : Calculate Orthodox Easter date,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3584307/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com