الگوریتم فیبوناچی بازگشتی و غیربازگشتی با پایتون
در این نوشته دنبالهی فیبوناچی را به صورت بازگشتی و غیر بازگشتی حل میکنیم؛ این تمرین با کمک زبان برنامه نویسی پایتون انجام شده است.
الگوریتم فیبوناچی بازگشتی و غیربازگشتی با پایتون
الگوریتم فیبوناچی درپایتون غیر بازگشتی
کد دنبالهی فیبوناچی به صورت غیر بازگشتی با زبان برنامه نویسی پایتون به شکل زیر است:
def fibDirect(n): a = 1 b = 1 temp = 0 for x in range(2,n): temp = b b = a + b a = temp return b
الگوریتم فیبوناچی در پایتون بازگشتی
کد دنبالهی فیبوناچی به صورت بازگشتی با پایتون به شکل زیر است:
def fibRecursive(n): if n == 1 | n == 2: return 1 elif n < 0: return 0 else: fibRecursive(n-1) + fibRecursive(n-2)
اگر کدهای بهتری برای حل دنبالهی فیبوناچی در دسترس دارید برای ما ارسال کنید.
برای امتیاز به این نوشته کلیک کنید!
[کل: 10 میانگین: 4.8]



















من قبلا فیبوناچی رو با حلقه while پیاده کرده بودم، دیدم با for هم خیلی تمیزتر میشه
ممنون از اشتراک تجربهتون! بله، استفاده از حلقه for در این مورد واقعاً خواناتر و تمیزتره.
توی کد بازگشتی شرط if n == 1 | n == 2: بهتره با or نوشته بشه، چون | عملگر بیتی هست
ممنون از نکتهی خوبتون، عبدی عزیز! درست میفرمایید، استفاده از `or` در شرط بازگشتی صحیحتر و خواناتر است.
خیلی واضح توضیح دادی. من تو دانشگاه سر همین تمرین گیر کرده بودم
ممنون از نظر لطف شما، تارا! خوشحالم که این مطلب براتون مفید بوده و مشکلتون رو حل کرده.
خیلی عالی بود 👌 مخصوصاً اینکه هم روش بازگشتی رو گذاشتی هم غیر بازگشتی
ممنون از نظر لطف شما، خوشحالم که این مطلب براتون مفید بوده.
اخه ارور می ده که
فرورفتگی ها یا indentهارو خودتون اصلاح کنید برای دستورات for و if و …
درست میشه