恭喜你!您刚刚被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.但是,为什么还要指定一年呢?
