介绍:
在北半球(即欧洲,北美等),季节划分如下:
- 春季: 3月,4月,5月
- 夏季: 6月,7月,8月
- 秋季: 9月,10月,11月
- 冬季: 12月, 一月二月
但是在南半球(即澳大利亚,南美等),季节划分如下:
- 春季: 9月,10月,11月
- 夏季: 12月,1月,2月
- 秋季: 3月,4月,5月
- 冬季:六月七月八月
这种差异是由于太阳相对于赤道的位置,北半球和南半球的季节相反。
输入:
在此挑战中,我们将接受两个输入:
- 一个月(
1 <= m <= 12或0 <= m <= 11)(示例和测试用例全部按1索引编制)。 - 在地球纬度(
-2 <= p <= 2)的五个“位置组”中,-2南极是南极,-1不包括南极的0是南半球,赤道附近的热带1是北极,不包括北极的北半球2是北极。
尽管当然北极,南极和热带仍然有季节,但是为了应对这一挑战,我们将说北极和南极处于恒定状态Winter,而热带则处于恒定状态Summer。
这是这五个组的视觉表示,-2南极圈在哪里?-1在摩ri座和南极圈之间;0在摩ri座和癌症之间;1在北极圈和北回归线之间;和-2北极圈。
输出:
一Spring,Summer,Autumn,或者Winter,遵循以下规则:
- 是位置输入
2还是-2(北极或南极),总是输出Winter。 - 是位置输入
0(热带),始终是输出Summer。 - 是位置输入
1(北半球)的基础上,每月输入四季的输出之一:Spring(m = [3,5]);Summer(m = [6,8]);Autumn(m = [9,11]);Winter(m = 12 or m = [1,2])。 - 是位置输入
-1(南半球)的基础上,每月输入四季的输出之一:Spring(m = [9,11]);Summer(m = 12 or m = [1,2]);Autumn(m = [3,5]);Winter(m = [6,8])。
挑战规则:
- 输出您所选择的指示任何四个不同的值
Spring,Summer,Autumn,或Winter(请注明你在你的答案用什么)。
-15字节的奖金,如果你输出Spring,Summer,Autumn,或Winter文本(不区分大小写,所以可以完全小写或完全大写为好,而不是使用标题情况下)。 - 月份输入可以采用任何合理的格式。可以是0索引或1索引的整数,Date对象,Month-String等。
- 位置输入将永远是这些可能的五个输入一个
-2,-1,0,1,2。
一般规则:
- 这是代码高尔夫球,因此最短答案以字节为单位。
不要让代码高尔夫球语言阻止您使用非代码高尔夫球语言发布答案。尝试针对“任何”编程语言提出尽可能简短的答案。 - 标准规则适用于您的答案,因此允许您使用STDIN / STDOUT,具有正确参数的函数/方法和返回类型的完整程序。你的来电。
- 默认漏洞是禁止的。
- 如果可能的话,请添加一个带有测试代码的链接。
- 另外,如有必要,请添加说明。
测试用例:
Position 1-indexed Month Output
-2 8 (August) Winter
-2 12 (December) Winter
-1 3 (March) Autumn
-1 5 (May) Autumn
-1 8 (August) Winter
-1 12 (December) Summer
0 1 (January) Summer
0 7 (July) Summer
1 1 (January) Winter
1 4 (April) Spring
1 7 (July) Summer
1 12 (December) Winter
2 2 (February) Winter
2 9 (September) Winter
为什么我们不能只为季节使用四个不同的值?
—
暴民埃里克(Erik the Outgolfer)'18年
我确实读过那条规则,这就是为什么我问。另外,为什么还要担心“魔术整数计算”?
—
暴民埃里克(Erik the Outgolfer)'18年
我只看到计算并没有发现什么不好,无论如何它们很可能会用于索引。这是您的挑战,但我会说这是不必要的复杂性。编辑:关于复制,嗯,这实际上是无法避免的。
—
暴民埃里克(Erik the Outgolfer)'18年
我认为没有任何额外的好处,只要不将输出转换为这些字符串,该程序仍然可以正常工作。
—
暴民埃里克(Erik the Outgolfer)'18年
我认为抵消文本字节大小的字节奖励是完全可以的。这不是“如果您还执行其他任务,则可获得X点奖励”之一。挑战集中在季节周围,因此激励实际印刷季节是有意义的。
—
内森·美林

