Avatar ·

فترة الكسر العشري

📁 طريقة, بايثون, مثال

المهمة: يتم تمرير عددين صحيحين إلى الدالة int a, int b. يجب إرجاع ناتج القسمة a/b، مع وضع الأرقام المتكررة (الفترة) بين قوسين.

أمثلة:

  1/3 => 0.(3) 29/12 => 2.41(6) 5/3 => 1.(6)  

حاول المبرمج حل المشكلة بطريقة القوة الغاشمة. قام بفصل الجزء الكسري، وبحث عن التطابقات. لكن في حالة 1/117، تحتوي الفترة على أكثر من 90 رقمًا، ويستغرق البحث في الأرقام وقتًا أطول مما هو مسموح به في المسألة.

كيف يمكن حل هذه المشكلة بطريقة مختلفة؟