Khaled Elsayed4 نشر 14 يونيو 2022 أرسل تقرير مشاركة نشر 14 يونيو 2022 أريد كتابة تابع حساب متسلسلة فيبوناتشي بالطريقة العودية 1 اقتباس رابط هذا التعليق شارك على الشبكات الإجتماعية More sharing options...
0 Wael Aljamal نشر 14 يونيو 2022 أرسل تقرير مشاركة نشر 14 يونيو 2022 الدالة العودية هي التي تقوم باستدعاء نفسها مرة أو أكثر لحساب حالات مختلفة حسب المشكلة و فيبوناتشي، كل مرحلة هي مجموع مرحلتين السابقتين لها Fn = Fn-1 + Fn-2. fib(n) = fib(n-1) + fib(n-2) أي استدعائها العرمي بهذه الطريقة: fib(5) / \ fib(4) fib(3) / \ / \ fib(3) fib(2) fib(2) fib(1) / \ / \ / \ fib(2) fib(1) fib(1) fib(0) fib(1) fib(0) / \ fib(1) fib(0) ولها شرط توقف أي قيمتين ثابتتين F0 = 0 and F1 = 1. #include<bits/stdc++.h> using namespace std; // الدالة العودية تعيد قيمة نوع رقم صحيح // تستقبل الدالة تسلسل فيبوناتشي الذي نريد الحساب عنده int fib(int n) { if (n <= 1) // شرط توقف 0 - 1 - سالب return n; // نعيد نفس القيمة // نحسب الخطوتين السابقتين للخطوة الحالية return fib(n-1) + fib(n-2); } int main () { int n = 9; // cin >> n; // إدخال من مستخدم // حساب cout << fib(n); return 0; } للاطلاع شرح التعاود من موسوعة حسوب اقتباس رابط هذا التعليق شارك على الشبكات الإجتماعية More sharing options...
السؤال
Khaled Elsayed4
أريد كتابة تابع حساب متسلسلة فيبوناتشي بالطريقة العودية
رابط هذا التعليق
شارك على الشبكات الإجتماعية
1 جواب على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.