recent
أخبار ساخنة

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

AM VIIP
الصفحة الرئيسية
متتالية فيبوناتشي في لغة 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.

هذا هو مفهوم المتتالية بإختصار (يعني الرقم الثالث يكون يساوي مجموع الرقمين السابقات له).


أمثلة في متتالية فيبوناتشي fibonacci sequence لغة 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

 

google-playkhamsatmostaqltradent