 İki tamsayının bitmeyen bir ondalık sayıya bölünüp bölünmediğini kontrol eden bir program yazın.
İki tamsayının a ve b'nin bitmeyen bir ondalık sayıya bölünüp bölünmediğini kontrol etmenin bir yolu: 1. İlk olarak, bölümü ve kalanı elde etmek için tamsayı bölmeyi (Python'da //) kullanarak a'yı b'ye bölün. 2. Kalan 0 ise, a ve b eşit olarak bölünür ve ondalık gösterimleri sona erer. Örneğin, 6 // 3 = 2, dolayısıyla 6, bir son ondalık sayıya böler. 3. Kalan 0 değilse, ondalık gösterimin tekrar edip etmediğini görmek için uzun bölme işlemi yapmamız gerekir. 4. İlk kalandan başlayarak, b'ye bölün ve 0'ın kalanını elde edene veya tekrarlayan bir kalan modeli elde edene kadar uzun bölme işlemine devam edin. 5. 0'ın kalanını alırsanız, a ve b'yi bir ondalık sayıya bölün. 6. Yinelenen bir kalanlar örüntüsü elde ederseniz, a ve b'yi bitmeyen bir ondalık sayıya bölün. İşte bu algoritmanın bir Python uygulaması: ``` def replaces_to_non_terttling_decimal(a, b): bölüm, kalan = divmod(a, b) if kalan == 0: dönüş Yanlış # a ve b eşit olarak bölünür, yani ondalık gösterim sona eriyor aksi halde : kalanlar = { kalan } iken Doğru: kalan *= 10 # sonraki basamak bölüm için 10 ile çarpın, kalan = divmod(kalan, b) eğer kalan == 0 ise: dön Yanlış # a ve b eşit olarak bölünür, yani ondalık gösterim şöyledir kalanlarda elif kalanını sonlandırmak: True # a ve b'yi sonlandırmayan bir ondalık sayıya bölmek else: kalıntılar.add(remainder) # görülen kalanları tekrarlanan kalıbı kontrol etmek için izle ``` Bu işlevi şu şekilde iki tamsayı ile çağırabilirsiniz: ``` print(divides_to_non_terttling_decimal(6, 3)) # Yanlış, çünkü 6, sonlanan bir ondalık sayıya bölünür print(divides_to_non_terttling_decimal(1, 3)) # Doğru, çünkü 1/3 = 0,33333... print(divides_to_non_terttling_decimal(7, 6) )) # Doğru, çünkü 7/6 = 1.166666..., tekrar eden ```