চ্যালেঞ্জ
একটি ধনাত্মক পূর্ণসংখ্যা দেওয়া হয় N
, প্রথম N
পরিসংখ্যানের যোগটিকে সঠিক ভগ্নাংশ হিসাবে আউটপুট দেয় , যা সংখ্যার এবং ডিনোমিনেটরের প্রতিনিধিত্ব করে একটি ধারাবাহিক ক্রমে পূর্ণসংখ্যার জোড় হিসাবে উপস্থাপিত হয়।
বিধি
আউটপুট অবশ্যই সঠিক হতে হবে।
আউটপুটটি সংখ্যার এবং ডিনোমিনেটরের প্রতিনিধিত্বকারী ধারাবাহিক ক্রমে সংখ্যার জোড় হিসাবে হওয়া উচিত।
সংখ্যাসূচক সংখ্যা সংক্রান্ত প্রকারগুলি (অন্তর্নির্মিত বা লাইব্রেরি) ব্যবহার নিষিদ্ধ।
- স্পেসিফিকেশন / ব্যতিক্রম: অ-পূর্ণসংখ্যার সংখ্যাসূচক প্রকারগুলি ঠিক আছে এবং কেবল যদি সমস্ত মান ব্যবহৃত হয়, গণনা করা হয় এবং ফিরে আসে তবে পূর্ণসংখ্যা হয় (যেমন আপনার ভাষাটি ডিফল্টরূপে যুক্তিযুক্ত সংখ্যা ব্যবহার করে, তবে আপনি কেবল আপনার উত্তরে পূর্ণসংখ্যার গাণিতিক ব্যবহার করেন)
আউটপুট যতটা সম্ভব কমাতে হবে। (
3/2
ঠিক আছে,6/4
নেই)স্ট্যান্ডার্ড লুফোলগুলি নিষিদ্ধ।
সাবমিশনগুলিতে ইনপুটগুলির জন্য কমপক্ষে 20 পর্যন্ত কাজ করা উচিত, বা এই মেটা , যেটি উচ্চতর।
পরীক্ষার কেস
1: 1/1
2: 3/2 (1/1 + 1/2)
3: 11/6 (1/1 + 1/2 + 1/3)
4: 25/12 etc.
5: 137/60
6: 49/20
20: 55835135/15519504
56: 252476961434436524654789/54749786241679275146400
226: 31741146384418617995319820836410246588253008380307063166243468230254437801429301078323028997161/5290225078451893176693594241665890914638817631063334447389979640757204083936351078274058192000
টেস্ট-কেস জেনারেশন (পাইথন 3)
import fractions
def f(x):
return sum(fractions.Fraction(1,i) for i in range(1,x+1))
এই চ্যালেঞ্জ এবং এই চ্যালেঞ্জের অনুরূপ ।
Numerators হয় OEIS A001008 এবং denominators, হয় OEIS A002805 ।
gcd
একটি "বিল্ট-ইন ফাংশন" যদি আপনার ভাষায় এটি উপলব্ধ করা?
gcd
এবং অন্যান্য অন্তর্নির্মিত ফাংশনগুলি ভাল। যুক্তিযুক্ত / ভগ্নাংশের প্রকারভেদ অনুমোদিত নয়।