এখানে একটি সুপরিচিত প্রশ্ন রয়েছে যা একটি সংক্ষিপ্ত (সর্বনিম্ন অক্ষর) ফাইবোনাচি সিকোয়েন্স জেনারেটরের জন্য জিজ্ঞাসা করে।
আমি জানতে চাই যে কেউ খুব অল্প জায়গাতেই কেবলমাত্র প্রথম এন উপাদানগুলি, ফাইবোনাচি ক্রমটি তৈরি করতে পারে। আমি অজগরটিতে এটি করার চেষ্টা করছি, তবে আমি কোনও সংক্ষিপ্ত উত্তর, যে কোনও ভাষায় আগ্রহী। ফাংশন এফ (এন) অনুক্রমের প্রথম এন উপাদানগুলি উত্পন্ন করে, হয় ফাংশনটির রিটার্ন হিসাবে তাদের প্রদান করে বা তাদের মুদ্রণ করে।
আকর্ষণীয়ভাবে মনে হচ্ছে কোড-গল্ফ উত্তরগুলির 1 1 2
পরিবর্তে শুরু হয় 0 1 1 2
। এটি কি কোড-গল্ফ বা সাধারণভাবে প্রোগ্রামিংয়ের কোনও সম্মেলন? (উইকিপিডিয়া বলছে যে ফিবোনাচি ক্রমটি শূন্য দিয়ে শুরু হয়))
পাইথন নমুনা (প্রথম 5 উপাদান):
def f(i,j,n):
if n>0:
print i;
f(j,i+j,n-1)
f(1,1,5)
F_0 = 0, F_1 = 1
সমতুল্য হিসাবে বা হিসাবে সংজ্ঞায়িত করা হয়েছে F_1 = 1, F_2 = 1
। পার্থক্যটি হ'ল আপনি সূচী 0 (প্রোগ্রামিংয়ে বেশি সাধারণ) বা 1 (গণিতে আরও সাধারণ) সিকোয়েন্সটি শুরু করতে চান কিনা।
F_0 = 0, F_1 = 1
ম্যাট্রিক্স প্রতিনিধিত্বের সাথে সরলতার সংজ্ঞা দেওয়ার একটি নির্দিষ্ট সুবিধা রয়েছে [[1 1][1 0]]^n = [[F_{n+1} F_n][F_n F_{n-1}]]
।