কম্পিউটার

পাইথনে ফিবোনাচি সিকোয়েন্স কিভাবে কোড করবেন

ফিবোনাচি সিকোয়েন্স হল গণিতের সবচেয়ে বিখ্যাত ক্রমগুলির মধ্যে একটি। এটি গণনা করা বেশ সহজ:অনুক্রমের প্রতিটি সংখ্যা হল আগের দুটি সংখ্যার যোগফল।

এই ক্রমটি প্রোগ্রামিং এর পথ খুঁজে পেয়েছে। প্রায়শই, এটি অ্যালগরিদম এবং লুপগুলিতে বিকাশকারীদের প্রশিক্ষণ দিতে ব্যবহৃত হয়।

এই নির্দেশিকায়, আমরা পাইথনে ফিবোনাচি সিকোয়েন্স কীভাবে কোড করতে হয় সে সম্পর্কে কথা বলতে যাচ্ছি। আমরা ফিবোনাচি সিকোয়েন্স বাস্তবায়নের জন্য আপনি ব্যবহার করতে পারেন এমন দুটি পদ্ধতির দিকে নজর দেব:পুনরাবৃত্তিমূলক এবং পুনরাবৃত্তিমূলক।

ফিবোনাচি সিকোয়েন্স কি?

ফিবোনাচি সিকোয়েন্স হল সংখ্যার একটি সিরিজ। প্রতিটি সংখ্যা অনুক্রমের পূর্ববর্তী দুটি সংখ্যার গুণফল। ক্রমটি এভাবে শুরু হয়:

0, 1, 1, 2, 3, 4, 8, 13, 21, 34

আপনি নতুন সংখ্যা গণনা বন্ধ না করা পর্যন্ত এটি চিরতরে চলতে থাকে। ক্রমানুসারে পরবর্তী সংখ্যা গণনার নিয়ম হল:

x(n) = x(n-1) + x(n-2)

x(n) হল অনুক্রমের পরবর্তী সংখ্যা। x(n-1) হল পূর্ববর্তী পদ। x(n-2) হল শেষের আগের শব্দ।

81% অংশগ্রহণকারী বলেছেন যে তারা বুটক্যাম্পে যোগ দেওয়ার পরে তাদের প্রযুক্তিগত কাজের সম্ভাবনা সম্পর্কে আরও আত্মবিশ্বাসী বোধ করেছেন। আজই একটি বুটক্যাম্পের সাথে মিলিত হন৷

গড় বুটক্যাম্প গ্র্যাড একটি বুটক্যাম্প শুরু করা থেকে শুরু করে তাদের প্রথম চাকরি খোঁজা পর্যন্ত ক্যারিয়ারের পরিবর্তনে ছয় মাসেরও কম সময় ব্যয় করেছে।

পাইথন ফিবোনাচি সিকোয়েন্স:পুনরাবৃত্তিমূলক পদ্ধতি

ফিবোনাচি সিরিজ বাস্তবায়নের পুনরাবৃত্তিমূলক পদ্ধতির কথা বলে শুরু করা যাক।

এই পদ্ধতিটি একটি "যখন" লুপ ব্যবহার করে যা একটি নির্দিষ্ট শর্ত পূরণ না হওয়া পর্যন্ত তালিকার পরবর্তী সংখ্যা গণনা করে। প্রতিবার যখন লুপ চলে, আমাদের কোড পুনরাবৃত্তি হয়। এই কারণে পদ্ধতিটিকে পুনরাবৃত্তিমূলক বলা হয়।

কিছু প্রাথমিক মান সেট করে শুরু করা যাক:

terms_to_calculate = 9
n1, n2 = 0, 1
counted = 0

আমরা চারটি ভেরিয়েবল ঘোষণা করেছি।

প্রথম ভেরিয়েবল ট্র্যাক করে আমরা কতগুলি মান গণনা করতে চাই। পরবর্তী দুটি ভেরিয়েবল, n1 এবং n2, তালিকার প্রথম দুটি আইটেম। আমাদের এই মানগুলি জানাতে হবে অন্যথায় আমাদের প্রোগ্রাম কোথায় শুরু হবে তা জানবে না। আমরা নতুন সংখ্যা গণনা শুরু করার সাথে সাথে এই মানগুলি পরিবর্তিত হবে।

শেষ ভেরিয়েবলটি আমাদের পাইথন প্রোগ্রামে গণনা করা পদের সংখ্যা ট্র্যাক করে।

আসুন একটি লুপ লিখি যা একটি ফিবোনাচি সংখ্যা গণনা করে:

while counted < terms_to_calculate:
	print(n1)
	new_number = n1 + n2
	n1 = n2
	n2 = new_number
	counted += 1

এই যখন লুপ চলে যতক্ষণ না আমরা গণনা করেছি মানগুলির সংখ্যা আমরা গণনা করতে চাই মোট সংখ্যার সমান। লুপ শেলে n1 এর মান প্রিন্ট করে। এটি তারপর তার আগের সংখ্যার সাথে ক্রমানুসারে পূর্ববর্তী সংখ্যা যোগ করে পরবর্তী সংখ্যা গণনা করে।

আমরা n1 এর মান n2 এর সমান অদলবদল করি। এটি n1 কে নতুন সংখ্যার পরে প্রথম সংখ্যা করে। তারপরে আমরা n2 সেট করি নতুন সংখ্যার সমান। এর পরে, আমরা আমাদের গণনা ভেরিয়েবলে 1 যোগ করতে +=অপারেটর ব্যবহার করি।

আমাদের কোড ফিরে আসে:

1

1

2

3

১৩

21

আমাদের প্রোগ্রাম সফলভাবে ফিবোনাচি সিকোয়েন্সের প্রথম নয়টি মান গণনা করেছে!

পাইথন ফিবোনাচি সিকোয়েন্স:রিকার্সিভ অ্যাপ্রোচ

ফিবোনাচি সিকোয়েন্স গণনা করা পুনরাবৃত্তির জন্য একটি নিখুঁত ব্যবহারের ক্ষেত্রে। একটি পুনরাবৃত্ত ফাংশন একটি ফাংশন যা একটি সমস্যা সমাধানের জন্য নিজের উপর নির্ভর করে।

রিকার্সিভ ফাংশন একটি সমস্যাকে ছোটো সমস্যায় বিভক্ত করে এবং এটি সমাধান করতে নিজেদের ব্যবহার করে। চলুন শুরু করা যাক একটি ভেরিয়েবল শুরু করে যা ট্র্যাক করে আমরা কতগুলি সংখ্যা গণনা করতে চাই:

terms_to_calculate = 9

এই প্রোগ্রামটি শুধুমাত্র একটি ভেরিয়েবল শুরু করতে হবে। এর পরে, আমরা একটি ফাংশন তৈরি করতে পারি যা অনুক্রমের পরবর্তী সংখ্যা গণনা করে:

def calculate_number(number):
	if number <= 1:
		return number
	else:
		return(calculate_number(number-1) + calculate_number(number-2))

এই ফাংশনটি পরীক্ষা করে যে সংখ্যাটি এটিতে পাস করা সংখ্যা 1 এর সমান বা কম। যদি এটি হয়, তাহলে সেই সংখ্যাটি কোনো গণনা ছাড়াই ফেরত দেওয়া হয়। অন্যথায়, তালিকার পূর্ববর্তী দুটি আইটেমের যোগফল গণনা করতে আমরা calculate_number() ফাংশনটিকে দুবার কল করি।

অবশেষে, আমাদের একটি প্রধান প্রোগ্রাম লিখতে হবে যা আমাদের ফাংশন চালায়:

for number in range(terms_to_calculate):
	print(calculate_number(number))

এই লুপটি terms_to_calculate-এর মানের সমান কয়েকবার কার্যকর করবে। অন্য কথায়, আমাদের লুপ 9 বার কার্যকর হবে। এই লুপটি calculate_number() কে কল করে ক্রমানুসারে পরবর্তী সংখ্যা গণনা করার পদ্ধতি। এটি এই নম্বরটি কনসোলে প্রিন্ট করে।

আমাদের কোড ফিরে আসে:

1

1

2

3

১৩

21

এই কোড থেকে আউটপুট আমাদের আগের উদাহরণ হিসাবে একই.

পার্থক্য আমরা ব্যবহার করেছি পদ্ধতির মধ্যে. আমরা একটি পুনরাবৃত্ত ফাংশন সংজ্ঞায়িত করেছি যা ক্রমানুসারে পরবর্তী সংখ্যা গণনা করতে নিজেই কল করে। পুনরাবৃত্ত পদ্ধতি সাধারণত পুনরাবৃত্তিমূলক পদ্ধতির চেয়ে পছন্দ করা হয় কারণ এটি বোঝা সহজ।

এই কোডটি আমাদের পুনরাবৃত্তিমূলক উদাহরণের তুলনায় উল্লেখযোগ্যভাবে কম লাইন ব্যবহার করে। আরও কি, এই প্রোগ্রামটি কাজ করার জন্য আমাদের শুধুমাত্র একটি ভেরিয়েবল শুরু করতে হবে; আমাদের পুনরাবৃত্তিমূলক উদাহরণের জন্য আমাদের চারটি ভেরিয়েবল শুরু করতে হবে।

উপসংহার

ফিবোনাচি সিকোয়েন্স একটি পুনরাবৃত্তিমূলক বা পুনরাবৃত্তিমূলক পদ্ধতি ব্যবহার করে তৈরি করা যেতে পারে।

ক্রমানুসারে পরবর্তী সংখ্যাগুলি গণনা করার জন্য পুনরাবৃত্তিমূলক পদ্ধতিটি একটি সময় লুপের উপর নির্ভর করে। পুনরাবৃত্ত পদ্ধতির মধ্যে একটি ফাংশন সংজ্ঞায়িত করা জড়িত যা ক্রমানুসারে পরবর্তী সংখ্যা গণনা করতে নিজেকে কল করে।

এখন আপনি একজন বিশেষজ্ঞের মতো পাইথনে ফিবোনাচি সিকোয়েন্স গণনা করতে প্রস্তুত!


  1. পাইথন প্রোগ্রামে N-তম ফিবোনাচি নম্বর

  2. পাইথন প্রোগ্রামে প্রদত্ত নম্বরটি ফিবোনাচি নম্বর কিনা তা কীভাবে পরীক্ষা করবেন?

  3. পাইথন প্রোগ্রামের জন্য কিভাবে একটি প্রদত্ত নম্বর একটি ফিবোনাচি নম্বর কিনা তা পরীক্ষা করবেন?

  4. আমি কিভাবে পাইথন ফাংশনের আর্গুমেন্টের সংখ্যা খুঁজে পেতে পারি?