فترة الكسر العشري
📁 طريقة, بايثون, مثال
المهمة: يتم تمرير عددين صحيحين إلى الدالة (int(a), int(b)). يجب إرجاع ناتج القسمة a/b، مع وضع الأرقام المتكررة (الفترة) بين قوسين.
أمثلة:
1/3 = > 0.(3)29/12 = > 2.41(6)5/3 = > 1.(6)اقتربت من حل المشكلة باستخدام brute force method. كنت أبحث في الجزء العشري وأبحث عن التطابقات. لكن في حالة 1/117، تحتوي الفترة على أكثر من 90 رقمًا، ويستغرق البحث وقتًا أطول مما هو مسموح به في المشكلة.
كيف يمكن حل هذه المشكلة بطريقة مختلفة؟ هل هناك حل أكثر أناقة؟