Tebrikler! Yeni Ufuklar 2 projesi üzerinde çalışmak için NASA tarafından işe alındınız.
Ne yazık ki, son zamanlarda büyük bütçe kesintileri yaşandı, bu yüzden üst yönetim planlanan tüm Pluto uçuşunu taklit etmeye karar verdi (70'li yıllarda inişlerde olduğu gibi).
Göreviniz, formatta bir tarih girişi olarak kabul yyyymmdd
edecek ve bu tarih için Pluto'nun sahte bir fotoğrafını sağlayacak bir program yazmaktır . Girilen tarihin 2015 veya 2016 yılında olacağını varsayabilirsiniz.
Fotoğraf 15x15 ASCII karakterlerinden oluşan bir ızgaradır. Izgaradaki karakterlerin aralıkları içinde x ve y koordinatları vardır [-7, 7]
- sol üst karakter, (-7, -7)
sağ alt karakter olduğu sıradadır (7, 7)
.
Fotoğraf aşağıdaki kurallara göre hesaplanacaktır:
- Prob 25/12/2015 tarihinde Pluto'ya en yakın olacak
d
Pluto'ya olan mesafe bu formülle verilmiştir:square root of ((difference in days to christmas) ^ 2 + 10)
r
Pluto’nun fotoğraftaki imajının yarıçapı şöyle:22 / d
- Koordinatlara sahip bir karakter
(x, y)
ızgara üzerinde ayarlanmış olması gerekir#
isex^2 + y^2 <= r^2
; Aksi takdirde boşluğa ayarlanmalıdır. - Pozisyonlarda yıldız vardır
(-3, -5)
,(6, 2)
,(-5, 6)
,(2, 1)
,(7, -2)
. Yıldızlar bir nokta ile temsil edilir.
ve elbette Pluto tarafından gizlenirler.
Bir şey daha var: NASA kurulu, Pluto'daki yaşam keşiflerinin büyük ölçüde bütçe artışıyla sonuçlanacağı sonucuna varmıştır. Programınız Plüton'a hayatın ipuçlarını eklemeli:
- Pluto'ya olan mesafe <= 4 ise, koordinatlara bir plutonian ekleyin
(-3,-1)
:(^_^)
Girdi için örnek fotoğraf 20151215
: (Kodunuzda olduğu gibi kodun tümü yeni satırlara sahip olmalıdır)
.
# .
###
#####
###.
# .
.
Giriş için fotoğraf 20151225
:
#######
#########
###########
#############
#############.
###(^_^)#####
#############
#############
#############
#############
###########
#########
. #######
Bir karşılaştırma olarak, burada Yeni Ufuklar tarafından çekilmiş, Pluto uydusunun Hydra fotoğrafı. ASCII sanatımızda farklılıklar hemen hemen fark edilemez.
Bu kod golf, yani bayt cinsinden en kısa kod kazanıyor!
`
lehine s kaldırıldı <pre><code>
; beğenmediyseniz geri dönmekten çekinmeyin.
You can assume the entered date will be in the year 2015 or 2016.
Peki öyleyse neden bir yıl belirtiniz?