Bu sitedeki kod hızla tükeniyor. Yenilenebilir iplere yatırım yapmamız gerekiyor. Bu nedenle, bir dize alan ve bir yel değirmenine dönüştüren bir program yazmalısınız.
Meydan okuma
Örnek olarak basit bir rüzgar değirmeni ipi ele alalım. Dizeyi al abc
. Pivot bu durumda merkez karakteri vardır b
. Dize 3 karakter uzunluğunda olduğundan, her çıktı tam olarak üç satır uzunluğunda ve üç karakter genişliğinde olacaktır. İşte 1. adımdaki çıktınız. (Boşluğa dikkat edin)
ABC
Bir sonraki adıma geçmek için, pivotun çevresindeki her karakteri saat yönünde döndürün. Adım 2:
bir b c
3-8 arası adımlar şunlardır:
bir b c
bir b c
cba
c b bir
c b bir
c b bir
Ve dokuzuncu adımda, orijinal dize tam daire etrafında gelir:
ABC
b
Tüm zaman aynı yerde kaldı unutmayın . Bunun nedeni b
pivot karakteridir. Dizeyi giriş olarak alan ve program kapatılıncaya kadar bu diziyi tekrar tekrar yazdıran bir program veya işlev yazmalısınız.
Açıklamalar
Tüm giriş dizelerinde tek sayıda karakter olacaktır. (Böylece her yel değirmeninin bir pivotu olur)
Sorunu basit tutmak için, tüm dizeler yalnızca büyük ve küçük harf alfabe karakterleri içerir.
Çıktı
len(input_string)
karakterleri geniş ve uzun olmalıdır.Sonsuza kadar dönmeye ve döngü yapmaya devam ettiğiniz sürece dizinin hangi adımında başladığınız önemli değildir.
Daha fazla Test IO:
Yazı zaten oldukça uzun olduğundan, işte "fırıldak" çıktısına bir bağlantı :
Kenar notu:
Bunun bir yel değirmeni olması gerektiği için, küçük bir gecikme veya her adım arasında bir kullanıcı girişi ile canlandırmak için bazı kazan plakası kodu eklemeniz harika olurdu. Ancak, bazı dillerde zaman yerleşikleri bulunmadığından, bu zorunlu değildir. Gönderinizin rakip kısmı diziyi olabildiğince hızlı yazdırabilir.