Estetik açıdan hoş bir bölen ağaç girişinin Bölen bir ağaçtır n
herhangi kompozit sayı için, m
, iki çocuk düğümleri var bölenler çifti en yakın olan kare kökü arasında m
. Sol düğüm küçük bölen m
olmalı ve sağ düğüm büyük bölen olmalıdır m
. Ağaçtaki asal bir sayı çocuk düğüm içermemelidir. Ağacınız metin sanatı veya resim şeklinde olabilir. Metin sanat çıktısı için kurallar aşağıdaki gibidir.
Boşluk kuralları
Ağaçtaki düğümleri boşaltmak için aşağıdaki kurallara sahibiz:
- Kökten belirli bir derinlikte bulunan düğümlerin tümü, çıktıdaki aynı metin satırında olmalıdır.
/ \ DEĞİL / \ / \ / 3 2 3 2
- Sol düğümlerde, düğüm tek basamaklı bir sayıysa, son basamağın hemen üstünde başka bir sayı varsa, gelen dal sağ üstte olmalıdır. Örnek:
/ VE / 3 720
- Sağ düğümler için, düğüm tek basamaklı bir sayıysa, ilk basamağın hemen üzerinde, gelen dal sol üstte olmalıdır. Örnek:
\ VE \ 7 243
- Giden sol dallar için dal sayının solunda bir boşluk başlamalıdır. Örnek:
275 / 11
- Giden doğru dallar için dal sayının sağında bir boşluk başlamalıdır. Örnek:
275 \ 25
- Ağacın aynı seviyesindeki iki düğümün, aralarında en az iki boşluk olması gerekir. Aynı zamanda, ağacın aynı seviyesindeki iki alt ağaç, aralarında olabildiğince az boşluk olmalıdır.
Bu ağaç çalışmıyor çünkü ** alt ağaç ** çok yakındır. 504 / \ / \ / \ / \ 21. 24 / \. / \ / \. / \ 3 7. 4 6 . / \ / \ .2 2 2 3 Bu ağaç dalları arasında yeterli boşluk olmasına rağmen. 504 / \ / \ / \ / \ / \ 21 ... 24 / \ ... / \ / \ ... / \ 3 7 ... 4 6 ... / \ / \ ... 2 2 2 3
- Bir ağaçta iki alt ağaç birbirine çok yakınsa
/\
, ebeveynlerin üzerindeki ağaca bir başka dal satırı ekleyerek ayrılabilir .
441 / \ Son satır henüz doldurulmadı ve zaten alanımız tükendi. 21 21 / \ / \ Başka bir dal satırı ekle 441 / \ Neredeyse, ancak 7 ve 3 birbirine çok yakın. / \ Bir satır daha yapmalı. 21 21 / \ / \ 3 7 3 7 Başka bir dal satırı ekle 441 / \ Ve biz bitti. / \ / \ 21 21 / \ / \ 3 7 3 7
Örnekler
Tam bir örnek olarak, 24 bölen ağacı şöyle görünecek:
24
/ \
/ \
4 6
/ \ / \
2 2 2 3
Şekil 4 ve 6 24'ün kareköküne en yakın bölen çiftidir. 4 soldadır, çünkü daha küçüktür. Bir sonraki satırda, 3'ün solundaki 2 sayısı, çünkü daha küçük.
63 için bölen ağaç şöyle görünmeli:
63 and NOT like this 63
/ \ / \
7 9 3 21
/ \ / \
3 3 7 3
Yanlış ağacında, 3 ve 21, 63'ün kareköküne en yakın bölen çifti değildir ve 3 ve 7 düzgün bir şekilde sıralanmaz. Bununla birlikte, 21'deki dal yerleşimi doğrudur.
42 yaşında olmalısın:
42 and NOT 42
/ \ / \
6 7 21 2
/ \ / \
2 3 3 7
720'ye bir göz atalım. Alt ve alt ağaçların doğru şekilde yerleştirilebilmesi 720
için beş dal seviyesine ihtiyacımız olduğunu unutmayın . Ayrıca, not olduğunu ve dalları iki seviyede olduğundan ve doğru boşluklar ve çocukları düğümleri ihtiyaç çocuk düğümleri var çocukları düğümler aynı düzeyde olmasını ihtiyacı .24
30
24
30
4
6
30
24
720
/ \
/ \
/ \
/ \
/ \
24 30
/ \ / \
/ \ / \
4 6 5 6
/ \ / \ / \
2 2 2 3 2 3
Meydan okuma
- Senin görevin giriş için doğru aralıklı estetik olarak hoş bir bölen ağaç oluşturmak
n
,n
1'den büyük bir pozitif tamsayı. - Çıktınız satır aralığı ve sondaki boşluklar ve satır başı ve sondaki yeni satırları içerebilir, ancak aksi takdirde yukarıda verilen boşluk kurallarına uymalıdır.
- Çıktınızın olmasına izin verilir: metin resmi, resim (gerekirse eklenecek diğer biçimler).
- Görüntüler için, ağacınızın düğümlerinin iyi aralıklı olduğundan ve ağacın aynı yüksekliğindeki düğümlerin görüntüde aynı yükseklikte olduğundan emin olun.
- Bu kod golfü. En az bayt sayısı (veya eşdeğeri) kazanır.
Stewie Griffin'i bu fikri düşündüğü için ödüllendirin ve Peter Taylor, Martin Ender, Mego ve Eᴀsᴛᴇʀʟʏ Iʀᴋ'ye spesifikasyonları yeniden yazmadaki yardımları için çok teşekkürler. Her zaman olduğu gibi, herhangi bir öneri veya düzeltmeler çok takdir edilmektedir. İyi şanslar ve iyi golf!
Daha fazla test durumu:
2
4
/ \
2 2
20
/ \
4 5
/ \
2 2
323
/ \
17 19
362880
/ \
/ \
/ \
/ \
/ \
/ \
/ \
/ \
/ \
/ \
576 630
/ \ / \
/ \ / \
/ \ / \
/ \ / \
/ \ / \
/ \ / \
24 24 21 30
/ \ / \ / \ / \
/ \ / \ / \ / \
4 6 4 6 3 7 5 6
/ \ / \ / \ / \ / \
2 2 2 3 2 2 2 3 2 3
1286250
/ \
/ \
/ \
/ \
/ \
1050 1225
/ \ / \
/ \ / \
/ \ / \
30 35 35 35
/ \ / \ / \ / \
5 6 5 7 5 7 5 7
/ \
2 3