এই প্রশ্নটি কেবলমাত্র দশমিকের অবসান ঘটাতে প্রযোজ্য নয় - দশমিকগুলি পুনরাবৃত্তি করাও একটি অ্যালগরিদমের মাধ্যমে ভগ্নাংশে রূপান্তর করা যেতে পারে।
আপনার কাজটি এমন একটি প্রোগ্রাম তৈরি করা যা ইনপুট হিসাবে বারবার দশমিক গ্রহণ করে এবং সেই দশমিক প্রসারণের সাথে সম্পর্কিত সংখ্যক এবং ডিনোমিনেটর (সর্বনিম্ন শর্তে) আউটপুট দেয়। 1 টির বেশি সংখ্যক ভগ্নাংশগুলিকে অনুচিত ভগ্নাংশের মতো উপস্থাপন করা উচিত 9/5
। আপনি ধরে নিতে পারেন যে ইনপুটটি ইতিবাচক হবে।
বারবার দশমিক এই বিন্যাসে দেওয়া হবে:
5.3.87
দ্বিতীয় বিন্দুটির পুনরাবৃত্তি হওয়ার পরে সবকিছু দিয়ে:
5.3878787878787...
আপনার প্রোগ্রামটি দুটি সংখ্যক এবং ডিনোমিনেটরের প্রতিনিধিত্ব করে, একটি স্ল্যাশ দ্বারা পৃথক করা (অথবা আপনি যদি সরল পাঠ্য আউটপুট না দেন তবে আপনার ভাষায় সমমানের ফর্ম) আউটপুট দেবে:
889/165
নোট করুন যে দশমিক দশমিক দশমিক দ্বিতীয় বিন্দুর পরে আর কিছুই থাকবে না এবং দশমিক দশমিক দশমিক দশমিক দশমিক দুটি অংশের মধ্যে কিছুই থাকবে না।
পরীক্ষার মামলা
এই পরীক্ষার কেসগুলি প্রয়োজনীয় কোণার সমস্ত ক্ষেত্রে আবরণ করে:
0..3 = 1/3
0.0.3 = 1/30
0.00.3 = 1/300
0.6875. = 11/16
1.8. = 9/5
2.. = 2/1
5..09 = 56/11
0.1.6 = 1/6
2..142857 = 15/7
0.01041.6 = 1/96
0.2.283950617 = 37/162
0.000000.1 = 1/9000000
0..9 = 1/1
0.0.9 = 1/10
0.24.9 = 1/4
আপনি যদি চান, আপনি এটি ধরে নিতেও পারেন যে পূর্ণসংখ্যার অংশবিহীন ভগ্নাংশের প্রথম বিন্দুর বামে কিছুই নেই। আপনি এই পরীক্ষামূলক পরীক্ষার ক্ষেত্রে এটি পরীক্ষা করতে পারেন:
.25. = 1/4
.1.6 = 1/6
..09 = 1/11
.. = 0/1
(in lowest terms)
অর্থাত্ ভগ্নাংশটি সরল করতে হবে।
13
পরিবর্তে আউটপুট অনুমতি দেওয়া হয় 13/1
?
1.9999...
এবং আউটপুটটি হ্যান্ডেল করার বিষয়ে নিশ্চিত হন2/1
1.9999.
জন্য 19999/10000
, তাই না? 2/1
1..9
9/99
:)?