চ্যালেঞ্জ
আপনাকে এমন একটি প্রোগ্রাম বা ফাংশন তৈরি করতে হবে যা ধনাত্মক পূর্ণসংখ্যার এন গ্রহণ করে, বাইনারিতে ফিবোনাকী অনুক্রমের প্রথম এন পদগুলিকে গণনা করে, এটি একটি একক বাইনারি সংখ্যায় ভাগ করে, সেই সংখ্যাটি দশমিক হিসাবে রূপান্তর করে এবং তার পরে দশমিককে আউটপুট দেয় পূর্ণসংখ্যা।
উদাহরণ স্বরূপ
1 -> [0] -> 0 to decimal outputs 0
3 -> [0, 1, 1] -> 011 to decimal outputs 3
4 -> [0, 1, 1, 10] -> 01110 to decimal outputs 14
আপনাকে আউটপুট দেওয়ার দরকার নেই ->
, কেবল সংখ্যাটি (উদাহরণস্বরূপ যদি ব্যবহারকারী টাইপ করে 4
, কেবল আউটপুট 14
)। তীরগুলি কেবল প্রোগ্রামটি কী করবে তা বোঝাতে সহায়তা করার জন্য।
পরীক্ষার মামলা
1 -> 0
2 -> 1
3 -> 3
4 -> 14
5 -> 59
6 -> 477
7 -> 7640
8 -> 122253
9 -> 3912117
10 -> 250375522
11 -> 16024033463
12 -> 2051076283353
13 -> 525075528538512
14 -> 134419335305859305
15 -> 68822699676599964537
16 -> 70474444468838363686498
17 -> 72165831136090484414974939
18 -> 147795622166713312081868676669
19 -> 605370868394857726287334099638808
20 -> 4959198153890674493745840944241119317
প্রোগ্রামটি অবশ্যই ব্যবহারের ভাষার সীমা পর্যন্ত আউটপুট দিতে সক্ষম হবে। কোনও অনুসন্ধান সারণী বা সাধারণ কাজের ক্ষেত্র অনুমোদিত নয়।
এটি কোড-গল্ফ , তাই বাইটের সংক্ষিপ্ত সংখ্যার জবাবটি উত্তর!
int32_t binary_concat_Fib(int n)
, যা ফলাফলের আউটপুট মান 2 to 31-1-এ সীমাবদ্ধ করবে। উদাহরণস্বরূপ আপনি সমস্ত সংক্ষিপ্ত বিট একটি পূর্ণসংখ্যায় ফিট করতে পারেন। অথবা ফাংশনটি এমন বিন্দু পর্যন্ত কাজ করা উচিত যেখানে বৃহত্তম ফিবোনাচি সংখ্যাটি নিজে থেকে কোনও পূর্ণসংখ্যায় ফিট করে না, তাই বিটগুলি সংযুক্ত করে প্রসারিত যথার্থতা গ্রহণ করে?