Herhangi bir uzunlukta 1ve 2herhangi bir uzunlukta bir dize verildiğinde , bu kriteri izleyerek dizeyi son bir forma küçültmenin kaç adım gerektiğini hesaplayan bir kod yazın ( artık bir işlev olması gerekmiyor , her şey iyi olacak):
Dize ise 112112, bu araçlar böyle bir 1, iki 1'leri ve bir 2 yazdırmak zorunda:
1112. İşlemi tekrar yapacağınız zaman 1 ve 2 yazdırmanız gerekir 12. Sonra bir tane yazdırın, elde edin 2. Bu son biçimdir, çünkü bu dize artık değişmeyecektir. 3Nihai forma ulaşmak için 3 adıma ihtiyacınız olduğu için kodunuz çıkacaktır .
Diğer Kurallar
Dizenin uzunluğu eşit değilse, son sayıya dokunulmaz.
Artık değiştirilemeyen (gibi
222222) her dize son biçim olarak kabul edilir.Herhangi bir harici kaynak kullanamazsınız.
Kodunuz
1ve öğelerinin her dizesiyle çalışmalıdır2.Kod golfü olduğu için en kısa kod kazanır.
Kodunuz her adımda yazdırılmalıdır.
Her giriş yöntemi iyi olacaktır.
Örnekler
Input >> 122122122121212212
Your code has to print:
211222111111222
11222111222
122111222
2111222
111222
1222
222
Steps:7 (you can omit the "Steps")
---- ---- ---- ----
Input >> 22222221
Your code has to print:
22222211
2222221
2
---- ---- ---- ----
Input >> 2222
Your code has to print:
0
EDIT: Ağır düzenlenmiş. Bunun için çok üzgünüm.
1 11 2. Her iki sayı bir çifttir: çiftin ilk numarası, çiftteki ikinci sayının kaç kez oluşturulacağını söyler. Bir çift ortağı olmayan herhangi bir son tek basamak olduğu gibi işlenir.