Bu zorluk, TidB'nin bu çok güzel cevabından ilham alıyor.
TidB'nin cevabında her sekiz karakter doğru sırada: gnilwoB edoC
( Code Bowling
geriye). Diğer dizeleri ancak edilir garip, rasgele sırada idi.
Buradaki zorluk, bunu düzeltmek.
(Boş olmayan) bir dize ve n
giriş olarak pozitif bir tamsayı alın . Dize, aralıktaki ASCII karakterlerini içerecektir: 32-126 (tilde boşluk).
Dizeyi artan sırada (ASCII kod değerini temel alarak soldan görüldüğü gibi) sıralamanız gerekir , ancak n
dizgenin sonundan başlayarak her karakteri atlayın . Örnek olarak, dizeyi abcdABC123
girdi olarak alalım ve n=4
sonra şunu alalım:
abcdABC123 <- Input string. (n=4)
_b___B___3 <- These will not be sorted (every 4th starting from the end)
1_2AC_acd_ <- The remaining characters, sorted
1b2ACBacd3 <- The final string (the output)
Başka bir örnek:
9876543210 <- Input string (n=2)
_8_6_4_2_0 <- These will not be sorted
1_3_5_7_9_ <- The remaining characters, sorted
1836547290 <- The final string (the output)
Giriş dizisi isteğe bağlı bir biçimde alınabilir (dize, karakter listesi, tek karakterli dizelerin listesi ...). Giriş tamsayı isteğe bağlı bir formatta da alınabilir.
Test durumları:
Format n=__
, bir sonraki satırdaki giriş dizgisi olacaktır. Çıktı aşağıdaki satırda.
n=1 (All elements will stay in place)
nafgaksa1252#"%#
nafgaksa1252#"%#
n=214 (The last character will stay in place. All other are sorted.
&/lpfAVD
&/AVflpD
n=8
g7L9T E^n I{><#ki XSj!uhl y= N+|wA}Y~Gm&o?'cZPD2Ba,RFJs% V5U.W;1e 0_zM/d$bH`@vKoQ 43Oq*C
g n !#$%&'i*+,./01l234579;w<=>?@ADoEFGHIJKBLMNOPQR STUVWXYeZ^_`abcdhjkmqsuovyz{|}~C