Havlu gününü unuttum
Her iki örnek için PHP betiği (hata, dizeyi biçimlendirme)
Php betiği düzeltildi, giriş kendini açıklayıcı
$argv
Farklı sonuçlar görmek için daha fazla giriş yorumu / uncomment içeren PHP komut dosyası
Bildiğiniz gibi, 25 Mayıs Havlu Günü olarak bilinir , çünkü bir havluya sahip olabileceği birçok kullanımdan dolayı.
Kitabın basit bir özü "Otostopçunun Galaksi Rehberi" (şahsen bu kitabı bir "günlük rehber" olarak aldım ) şöyle diyor:
"Bir havlu, yıldızlararası bir otostopçunun sahip olabileceği en büyük fayda olan şeydir. Kısmen büyük pratik değeri vardır."
Havlu kontrolü hakkında daha fazla bilgiye ihtiyacınız varsa bu SE.scifi yanıtını
Meydan okuma
Umarım bunu bacaklarınız için battaniye olarak kullanılan bir havluyla yaparsınız.
İki giriş alan herhangi bir geçerli programlama dilinde tam bir program veya işlev yazın
size Integer : #The size
message string : #A sentence
Bu değerlere sahip bir havlu nasıl çizilir?
İlk kullanma size
:
Havlu için ascii-art , boyut girişine bağlı olarak bir havlu çizin
width = 12*size
#the line that has the "bar" its always present with different sizes
Width is defined as:
from the first | to the second | has to be equal to size*12 including both ||
<- width->
[===| |====]
| 12 chars || 1 height starts here, just after the "bar"
| SIZE = 1 || 2
| || 3 height = 5*size
| || 4
| || 5 height ends here just before the first line |=======|
|==========|| # the lines with the #
|==========|| # are always fixed
""""""""""""| # it means, every towel
| | # always has this 5 rows
"""""""""""" # no matter the size
İkincisi, ver message
Bir mesaj vermelisiniz , altın iplikle dikilmiş güzel bir mesaj olmadan bir havlu nedir?
örnek 1
input: size=1, message="a simple message can stay with size"
width = 12*size
#the line that has the "bar" it's always present with different sizes
#no words allowed at the bar level
[===| |====]
| a simple || 1 height starts here, just after the "bar"
| message || 2
| can stay || 3 height = 5*size
| with size|| 4
| || 5 height ends here just before the first line |=======|
|==========|| # the lines with the #
|==========|| # are always fixed
""""""""""""| # it means, every towel
| | # always has this 5 rows
"""""""""""" # no matter the size
ÖRNEK 2
input size=2
message="Don't Panic and bring a towel to SE Programming Puzzles and CodeGolf"
The size is 2
That means 24 width and 10 heigth
<- 24 chars width ->
[===| |====]
| Don't Panic and bring|| 1
| a towel to SE || 2
| Programming Puzzles || 3
| and CodeGolf || 4
| || 5
| || 6
| || 7
| || 8
| || 9
| || 10
|======================|| # The lines with the "#"
|======================|| # always present and
""""""""""""""""""""""""| # adapted to
| | # the towel width
"""""""""""""""""""""""" #
Kabul edilen cevap kriterleri
- Bu kodgolf olduğundan normal kurallar geçerlidir.
kurallar
Tüm giriş dizelerinin boyuta uygun olacağı garanti edilir, bu nedenle herhangi bir giriş yapılmaz
size=1; message="This string is just tooooooooooooooooooooo long to fit the width and height of your towel"
.Örneğin alt dizeleri ortalamak istiyorsanız, dize biçimi size kalmış.
Kelime aralarına izin verilmiyor.
Düzenlemeler
Herhangi bir karışıklık için gerçekten üzgünüm, çünkü çizdiğim ansii havlu parametreleri eşleşmedi , beklenen çıktıları kontrol etmek için her iki örnek için bir PHP komut dosyası ekledi .
Ayrıca oy veren ve ilk görevimi düşünen herkese teşekkür ederim: D.
current line + next word
yayınladığım php betiği karar verirken havlu @ Jakob için izin verilen sınırı aştığında eklenmelidir.