 Belirli bir dizinin tekrar eden daha küçük diziden yapılıp yapılmadığını kontrol eden bir program yazın. Örneğin, ABACABAC iki kez ABAC eklenmesiyle yapılır.
Belirli bir dizginin yinelenen daha küçük dizgilerden yapılıp yapılmadığını kontrol edebilen bir Python işlevi: ``` def is_repeating_string(input_string): """ Girdi dizgisinin kendisine art arda daha küçük bir alt dizgi ekleyerek oluşturulup oluşturulamayacağını kontrol eder. (str): Kontrol edilecek giriş dizesi Döndürür: bool: input_string tekrar eden daha küçük dizelerden oluşuyorsa true, aksi takdirde False. """ string_length = len(input_string) for i in range(1, string_length // 2 + 1) : if string_length % i == 0: substring = input_string[:i] if substring * (string_length // i) == input_string: return True return False ``` Bu işlev, uzunluğun yarısına kadar tüm olası alt dize uzunluklarını kontrol ederek çalışır (yinelenen bir alt dizenin en az iki karakter uzunluğunda olması gerektiğinden). Giriş dizgisinin uzunluğu alt dizgi uzunluğuna bölünebiliyorsa, alt dizginin uygun sayıda tekrar edilmesinin (yani, dizgi_uzunluğu bölü alt dizgi uzunluğu) orijinal girdi dizgisiyle sonuçlanıp sonuçlanmadığını kontrol eder. Eğer öyleyse True döndürür; aksi takdirde, tüm olasılıkları tüketene kadar diğer alt dize uzunluklarını kontrol etmeye devam eder ve bu noktada False değerini döndürür.