Aşağıdaki dizeye bakın. Bir desen fark ettiniz mi?
ABEFNOPEFGH DC GQI MHRJ LKJI SK DTL cum BAZYXWV N EO DP CQ BAZYXWVUTSR
Bazılarının fark etmiş olabileceği gibi, temelde satırların / sütunların arasındaki mesafelerin 1 boşluk / satırsonu giderek arttığı alfabenin bir spirali.
Titiz tanım
- Başlangıçta 0 olan bir c sayacına sahip olalım .
- Biz ilk yazmak c + 1 soldan sağa alfabenin harfleri:
A
. Daha sonra, yukarıdan aşağıya doğru bir sonraki (c + 1) (c + 2) / 2 harfler (eklenti
B
)AB
.Soldan sağa, sonraki (c + 1) (c + 2) / 2 (ekle
C
):AB C
Ve aşağıdan yukarıya, sonraki c + 1 harfleri (ekle
D
):AB DC
Döngünün sonuna ulaştı. Bu nedenle, c'yi artıralım (bu 1 olur). Daha sonra, ilk adımdan başlar, tek fark , alfabenin ilk c + 1 harflerini kullanmak yerine , bu döngünün son öğesinden başlayarak sonraki c + 1 harflerini kullanmamızdır (
D
bu durumda, böylece devam ediyoruzEFG...
). Ne zamanZ
ulaşıldığında, bu döngüleri gelen geriA
.
Görev
N (1-indeksleme için pozitif veya 0-indeksleme için negatif olmayan) bir tamsayı verildiğinde , spiralin ilk N döngüsünü çıktılar .
kurallar
Küçük harf veya büyük harf alfabe kullanabilirsiniz, ancak seçiminizin tutarlı olması gerekir (bunlardan yalnızca birini kullanın, karıştırmaya izin verilmez).
Bu boşlukların varsayılan olarak yasak olduğunu belirterek, herhangi bir programlama dilinde standart yöntemlerden herhangi birini kullanarak girdi alabilir ve çıktı sağlayabilirsiniz .
Kabul edilebilir çıktı biçimleri: çok satırlı dize, satırları temsil eden dize listesi, her biri bir satırı temsil eden birden fazla karakter listesi içeren bir liste veya uygun bulduğunuz başka bir şey. İlk biçimi seçmemeniz durumunda, kodunuzun güzel basılı bir sürümünü eklemek iyi olur.
Bu kod golf , bu yüzden gereksinimleri karşılayan bayt (her dilde) en kısa kod kazanır!
Test senaryoları
Giriş tamsayısı bir satırsonu üzerinden karşılık gelen çıktısı ile ayrılacak ve testler tire işareti ile ayrılacaktır. Bunların 1 dizinli olduğunu unutmayın.
1 AB DC -------- 2 ABEF DC G MH LKJI -------- 3 ABEFNOP DC GQ MHR LKJI S DT CU BAZYXWV ------- 4 ABEFNOPEFGH DC GQI MHRJ LKJI SK DTL cum BAZYXWV N EO DP CQ BAZYXWVUTSR ------- 5 ABEFNOPEFGHFGHIJ DC GQIK MHRJL LKJI SKM DTLN CUMO BAZYXWV NP EOQ DPR CQS BAZYXWVUTSR T RU QV PW ÖKÜZ NMLKJIHGFEDCBAZY ------ 6 ABEFNOPEFGHFGHIJSTUVWX DC GQIKY MHRJLZ LKJI SKMA DTLNB CUMOC BAZYXWV NPD EOQE DPRF CQSG BAZYXWVUTSR TH RUI QVJ PWK OXL NMLKJIHGFEDCBAZY M SN RO QP PQ VEYA NMLKJIHGFEDCBAZYXWVUTS