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
7ve51. 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:
nGiriş olarak verilen tek sayıyı alın ve bu uzunlukta bir ağaç çizgisi oluşturun.Çıkar
4gelennve bu uzunluğun ağacının bir çizgi oluşturun.Çıkar
2gelennve bu uzunluğun ağacının bir çizgi oluşturun.Azalma
ntarafından2. Bundan sonra,neşit5olmadığı 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 2o 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.
7giriş olarak kabul etmek ya da kabul edip edemeyeceğinizi 4, dördüncü tek sayıdaki gibi (ya 3da 0-endeksli) soruyor .