ফিবানচি ক্রম একটি ক্রম ভাল জানেন যা প্রতিটি প্রবেশ আগের দুই এবং প্রথম দুই এন্ট্রি এর সমষ্টি হয় 1. আমরা একটি ধ্রুবক ক্রম পর্যাবৃত্ত হয়ে যাবে দ্বারা প্রতিটি মেয়াদের মডিউল না নেন তাহলে হয়। উদাহরণস্বরূপ, যদি আমরা সিকোয়েন্স মোড 7 গণনা করার সিদ্ধান্ত নিয়েছিলাম তবে আমরা নিম্নলিখিতটি পেতে পারি:
1 1 2 3 5 1 6 0 6 6 5 4 2 6 1 0 1 1 ...
এই 16-এর একটি ক্রম একটি নির্দিষ্ট সময়ের বলা হয়েছে Pisano ক্রম , এই ধরনের সংজ্ঞায়িত করা হয় যে a(n)
Fibonacci ক্রম যখন গণনা মডিউল n এর সময়ের নয়।
কার্য
আপনার একটি প্রোগ্রাম বা ফাংশন লিখতে হবে যা দেওয়া n
হলে ফিবোনাচি সিকোয়েন্স মোডের সময়কাল গণনা এবং আউটপুট হবে n
। এটি পিসানো সিকোয়েন্সের নবম পদ।
আপনার অবশ্যই পরিসীমাতে পূর্ণসংখ্যার সমর্থন করতে হবে 0 < n < 2^30
এটি একটি কোড-গল্ফ প্রতিযোগিতা তাই বাইট দ্বারা স্কোর করা হিসাবে আপনার উত্স কোডের আকার হ্রাস করার লক্ষ্য করা উচিত।
পরীক্ষার মামলা
1 -> 1
2 -> 3
3 -> 8
4 -> 6
5 -> 20
6 -> 24
7 -> 16
8 -> 12
9 -> 24
10 -> 60
11 -> 10
12 -> 24
f(i),f(i+1)
সর্বাধিক n^2
মানগুলিকে নিতে পারে বলে জানায় n
। সুতরাং, n
সীমাবদ্ধ 2^30
আপ পর্যন্ত সময়কাল উত্পাদন করতে পারে 2^60
। সীমাবদ্ধতা n <= 2^16
দিতে হবে P(n) <= 2^32
।
f(i+2) = f(i+1)+f(i)
, সময়কালে লুপিং মেশিনের 'স্টেট' একজোড়া পূর্ণসংখ্যা মোডের সাথে বর্ণনা করা যেতে পারে n
। বেশিরভাগ n^2
রাজ্য রয়েছে, তাই সময়কাল সর্বাধিক n^2
। উহু! উইকিপিডিয়া দাবি করেছে যে সময়কাল সর্বাধিক 6n
। আমার তুচ্ছ কথা মনে রাখবেন না।