متتالية فيبوناتشي fibonacci sequence لغة C++ - ProgrammerTech
Language:

Search

متتالية فيبوناتشي fibonacci sequence لغة C++

  • Share this:
متتالية فيبوناتشي fibonacci sequence لغة C++

متتالية فيبوناتشي Fibonacci Series

سلسلة فيبوناتشي Fibonacci Sequence هي سلسلة أعداد و يكون أي رقم فيها يساوي مجموع الرقمين السابقات. أي يكون الرقم الأول و الثاني يساوي الثالث و سُميت بهذا الأسم نسبة لعالم الرياضيات الإيطالي ليوناردو فيبوناتشي.

قائمة أرقام فيبوناتشي fibonacci numbers list

0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, ....etc

نلاحظ في الأرقام السابقة fibonacci numbers إذا جمعنا الرقمين 0 و 1 يساوي 1. و إذا أردنا إختيار الرقم 8 نلاحظ مجموع الرقمين الذي قبله 5 و 3 يساوي 8. هذا هو مفهوم المتتالية بإختصار (يعني الرقم الثالث يكون يساوي مجموع الرقمين السابقات له).

 

 

أمثلة في متتالية فيبوناتشي لغة ++C

 

مثال 1

أكتب برنامج يقوم بحساب متتالية الأرقام 1 1 2 3 5 8 من سلسلة فيبوناتشي fibonacci numbers list.

#include <iostream>
using namespace std;
main()
{
    int n, c, first = 0, second = 1, next;
    cout << "Enter the number of terms of fibonacci series ou want" << endl;
    cin >> n;
    cout << "First" << n << "terms of fibonacci series are : " << endl;
    for (c = 0 ; c < n ; c++)
    {
        if ( c <= 1 )
            next = c;
        else
        {
            next = first + second;
            first = second;
            second = next;
        }
        cout << next << endl;
    }
    return 0;
}

أنشأنا متغيرين عددين c و n ثم أظهرنا رسالة للمستخدم تطالبه بإدخال رقم لطول المتتالية المطلوبة. وعن طريق cin سوف يدخل المستخدم الرقم إلى البرنامج. ثم بعد تنفيذ البرنام سوف يرتب لنا بيانات المتتالية سوف يكتب لنا Firts أي بداية المتتالية ثم يكتب لنا قيمة n التي هي بداية متتالية فيبوناتشي و يكتب بعدها إن متتالية فيبوناتشي هي و يطبع بعدها ارقام المتتالية. بعد ذلك قمنا بدخول حلقة تكرارية من أجل ترتيب أمور طباعة المتتالية وترتيبها.

عندما نقوم بتشغيل الكود

0
1
1
2
3
5
8

 

مثال 2

أكتب برنامج بمتتالية فيبوناتشي Fibonacci Sequence يقوم بطبع حتى عدد n لا نهاية من المصطلحات.

#include <iostream>
using namespace std;
int main()
{
    int n, t1 = 0, t2 = 1, nextTerm = 0;
    cout << "Enter the number of terms: ";
    cin >> n;
    cout << "Fibonacci Series: ";
    for (int i = 1; i <= n; ++i)
    {
        if(i == 1)
        {
            cout << " " << t1;
            continue;
        }
        if(i == 2)
        {
            cout << t2 << " ";
            continue;
        }
        nextTerm = t1 + t2;
        t1 = t2;
        t2 = nextTerm;
        cout << nextTerm << " ";
    }
    return 0;
}

عندما نقوم بتشغيل الكود و كتابة رقم 10 مثلا سوف تكون النتيجة.

Enter the number of terms: 10
Fibonacci Series: 01 1 2 3 5 8 13 21 34

 

مثال 3
#include <iostream>
using namespace std;
int main() {
    int n1=0,n2=1,n3,i,number;
    cout<<"Enter the number of elements: ";
    cin>>number;
    cout<<n1<<" "<<n2<<" ";
for(i=2;i<number;++i)
    {
    n3=n1+n2;
        cout<<n3<<" ";
  n1=n2;
  n2=n3;
    }
   return 0;
}

عندما نقوم بتشغيل الكود و كتابة رقم 15 مثلا سوف تكون النتيجة.

Enter the number of elements: 15
0 1 1 2 3 5 8 13 21 34 55 89 144 233 377

 

مثال 4
#include <iostream>
using namespace std;
void printFibonacci(int n){
    static int n1=0, n2=1, n3;
    if(n>0){
        n3 = n1 + n2;
        n1 = n2;
        n2 = n3;
     cout<<n3<<" ";
        printFibonacci(n-1);
        }
    }
int main(){
    int n;
    cout<<"Enter the number of elements: ";
    cin>>n;
    cout<<"Fibonacci Series: ";
    cout<<"0 "<<"1 ";
    printFibonacci(n-2);
    return 0;
}

عندما نقوم بتشغيل الكود و كتابة رقم 20 مثلا سوف تكون النتيجة.

Enter the number of elements: 20
Fibonacci Series: 0 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597 2584 4181

Muhammad Alush

Muhammad Alush

إسمي محمد تركي العلوش من سورية من ريف حلب الشرقي 1994, محب للتقنية و التعلم الذاتي, و جميع خبراتي تعلمتها ذاتياً, و اللغات البرمجية التي أتقنها هي html, css, javascript, php, c, python بالإضافة إلى حبي الكبير لمجال الشبكات.

موقعي programmer-tech.com