恭喜你!您刚刚被NASA聘请从事新的Horizons 2项目。
可悲的是,最近削减了巨额预算,因此高层管理人员决定伪造整个计划的冥王星飞越(就像他们在70年代登月那样)。
您的任务是编写一个程序,该程序以格式接受日期作为输入yyyymmdd
,并提供该日期的伪造Pluto照片。您可以假设输入的日期为2015年或2016年。
照片是15x15的ASCII字符网格。网格上的字符的x和y坐标在范围内[-7, 7]
-左上角的字符位于,(-7, -7)
而右下角的字符位于(7, 7)
。
该照片将按照以下规则计算:
- 该探测器将最接近冥王星于25/12/2015
d
到冥王星的距离由以下公式给出:square root of ((difference in days to christmas) ^ 2 + 10)
r
照片上冥王星图像的半径为:22 / d
(x, y)
在网格上具有坐标的字符必须设置为#
ifx^2 + y^2 <= r^2
; 否则必须将其设置为空格。- 有星星的位置
(-3, -5)
,(6, 2)
,(-5, 6)
,(2, 1)
,(7, -2)
。星星由点表示.
,而它们当然被冥王星隐藏。
还有一件事:美国宇航局董事会得出结论,在冥王星上发现生命可能会导致预算大幅增加。然后,您的程序应为冥王星增加生活线索:
- 当到冥王星的距离<= 4时,在坐标处添加一个冥王星
(-3,-1)
:(^_^)
输入的示例照片20151215
:(您的代码应与此代码一样包含所有换行符)
.
# .
###
#####
###.
# .
.
输入照片20151225
:
#######
#########
###########
#############
#############.
###(^_^)#####
#############
#############
#############
#############
###########
#########
. #######
作为比较,这是《新视野》拍摄的冥王星卫星九头蛇的照片。我们的ASCII艺术几乎没有区别。
这是代码高尔夫球,因此以字节为单位的最短代码将获胜!
`
赞成删除了s <pre><code>
;如果您不喜欢,可以随时回滚。
You can assume the entered date will be in the year 2015 or 2016.
但是,为什么还要指定一年呢?