Meydan okuma
Hepimiz normal Noel ağaçlarını biliyoruz - ama baş aşağı bir Noel ağacına ne dersiniz ! Bu oldukça kolay, Noel temalı bir meydan okuma. Bu zorluğun amacı bana bir ASCII baş aşağı Noel ağacı yapmaktır. İşte bu meydan okuma için kurallar:
- Tuhaf, pozitif bir tamsayıyı kabul edin. Sen hep arasında olacaktır varsayabiliriz
7
ve51
. Ağacın tabanı karakterlerden oluşacaktır:
___ \ / |
Ağacın tepesi (yıldız), tek bir parçadan oluşacaktır
*
.Ağacın her satır biçimini kullanarak inşa edilecek herhangi bir sayıdır s. Örneğin, bir uzunluk çizgisi yapıyorsanız , çizgi olmalıdır . Veya bir uzunluk çizgisi yapıyorsanız , çizgi olmalıdır .
<?>
?
-
5
<--->
8
<------>
Ağacın gövdesi şu şekilde inşa edilmelidir:
n
Giriş olarak verilen tek sayıyı alın ve bu uzunlukta bir ağaç çizgisi oluşturun.Çıkar
4
gelenn
ve bu uzunluğun ağacının bir çizgi oluşturun.Çıkar
2
gelenn
ve bu uzunluğun ağacının bir çizgi oluşturun.Azalma
n
tarafından2
. Bundan sonra,n
eşit5
olmadığı sürece 2. adıma geri dönün.
Taban (bkz. Adım 2.) yıldız (bkz. Adım 3.) ve ağacın her satırı (bkz. Adım 4. ve 5.), orijinal tek sayı girişi (bkz. Adım 1) maksimum olmalıdır. Genişlik.
Örnekler / Test Örnekleri
odd number inputed: 7
___
\ /
|
<-----> line length -> 7
<-> line length -> 7 - 4 = 3
<---> line length -> 7 - 2 = 5
*
odd number inputed: 13
___
\ /
|
<-----------> line length -> 13
<-------> line length -> 13 - 4 = 9
<---------> line length -> 13 - 2 = 11
<-----> line length -> 11 - 4 = 7
<-------> line length -> 11 - 2 = 9
<---> line length -> 9 - 4 = 5
<-----> line length -> 9 - 2 = 7
<-> line length -> 7 - 4 = 3
<---> line length -> 7 - 2 = 5
*
odd number inputed: 9
___
\ /
|
<-------> line length -> 9
<---> line length -> 9 - 4 = 5
<-----> line length -> 9 - 2 = 7
<-> line length -> 7 - 4 = 3
<---> line length -> 7 - 2 = 5
*
odd number inputed: 17
___
\ /
|
<---------------> line length -> 17
<-----------> line length -> 17 - 4 = 13
<-------------> line length -> 17 - 2 = 15
<---------> line length -> 15 - 4 = 11
<-----------> line length -> 15 - 2 = 13
<-------> line length -> 13 - 4 = 9
<---------> line length -> 13 - 2 = 11
<-----> line length -> 11 - 4 = 7
<-------> line length -> 11 - 2 = 9
<---> line length -> 9 - 4 = 5
<-----> line length -> 9 - 2 = 7
<-> line length -> 7 - 4 = 3
<---> line length -> 7 - 2 = 5
*
kurallar
- Standart boşluklar geçerlidir .
- Bu kod golf , bu yüzden bayt en kısa cevap kazanır!
repeat the above steps until the odd number minus 2 equals 5
- ilk girişte, tek sayı 7 ve 7-2 = 5, bu nedenle ağaç anında bitmelidir (ne demek istediğini biliyorum, ancak yeniden ifade etmesi gerekiyor)
7
, minimum giriş, olur birinci (alt adımlar .1.1, .1.2, .1.3), üç ağaç hatları oluşturmak sonra çıkarma 2
o eşitse tek sayı ve testin 5
. "Tek sayı eksi 2 eşittir 5" olup olmadığını kontrol etme talimatı sonunda diğer üç adım ilk olarak gerçekleştirilmelidir. Ama ilk yorumunuzu cevaplamak iyi olur.
7
giriş olarak kabul etmek ya da kabul edip edemeyeceğinizi 4
, dördüncü tek sayıdaki gibi (ya 3
da 0-endeksli) soruyor .