فیبوناچی در سی پلاس پلاس - هفت خط کد انجمن پرسش و پاسخ برنامه نویسی

فیبوناچی در سی پلاس پلاس

0 امتیاز

سلام دوستان عزیز من میخوام برنامه ای بنویسم که n جمله از سری فیبوناچی زیر رو برام چاپ کنه

1 1 2 3 5 8 13 21 ... ... ...

دوستان به صورت تابع نباشه کاملا ساده و مبتدی باشه !

ممنون

سوال شده اردیبهشت 3, 1393  بوسیله ی Mr.Mohammad (امتیاز 189)   17 17 24
دوباره تگ گذاری شد شهریور 5, 1393 بوسیله ی BlueBlade
نمیخوام به صورت تابع باشه میخوام کاملا ساده و مبتدی باشه

3 پاسخ

+2 امتیاز
 
بهترین پاسخ

سلام. به صورت غیر بازگشتی :
 

void fib(int n) 
{ 
    int a=1,b=1;
    int c; 
    cout<<a<<endl;
    cout<<b<<endl; 
    int i=2;
    while (i<n)
    { 
        c=a+b;
        cout<<c<<endl;
        a=b;
        b=c;
        i++;
    }
}



و به صورت بازگشتی:

int fibb(int n) 
{
    if (n==1||n==2) 
        return 1; 
    else 
        return fibb(n-1)+fibb(n-2); 
}




 

int main()
	{
		cout<<"tedad jomalati ke mikhahid neshan dade shavad ra neshan dahid, ra vared konid"<<endl;
		cin>>n;
	int a=1,b=1;
    int c;
    cout<<a<<endl;
    cout<<b<<endl;
    int i=2;
   while (i<n)
  {
    c=a+b;
    cout<<c<<endl;
    a=b;
    b=c;
    i++;
  }
   return 0;
}

 

پاسخ داده شده اردیبهشت 3, 1393 بوسیله ی maryam (امتیاز 338)   12 33 44
انتخاب شد مرداد 17, 1393 بوسیله ی BlueBlade
نمیخوام به صورت تابع باشه میخوام کاملا ساده و مبتدی باشه
به صورت مبتدیشم داخل پاسخ گذاشتم.فقط کافیه که n رو از کاربر بگیری و برنامه رو داخل main بنویسی.
اگه مایلی تیک بهترین پاسخ رو هم بزن.
0 امتیاز

سلام 

//be name khoda
#include "stdafx.h"
#include<iostream>

using namespace std;
int main()
{
	int a = 1, b = 1, c, n;

	cin >> n;

	cout << a << ' '
		 << b << ' ';

	for(int i = 3; i <= n; ++i)
	{
		c = a + b;
		cout << c << ' ';
		a = b;
		b = c;
	}

	return 0;
}

 

 

پاسخ داده شده خرداد 13, 1393 بوسیله ی امیدوار (امتیاز 872)   21 63 76
ویرایش شده تیر 15, 1393 بوسیله ی امیدوار
+2 امتیاز

سلام!

اینم یه روش دیگه با استفاده از فرمول حالت بسته ی فیبوناچی:

#include <iostream>
#include <math.h>

using namespace std;

int main()
{
	int n;
	cout << "n = "; cin >> n;
	double golden_ratio = (1 + sqrt(5)) / 2;
	int result = (pow(golden_ratio, n) - pow(1 - golden_ratio, n)) / sqrt(5);
	cout << "fibonacci(n) = " << result << endl;
	return 0;
}

Fibonacci

 

 

 

 

 

 

 

 

پاسخ داده شده مرداد 6, 1393 بوسیله ی مسعود لپه‌چی (امتیاز 928)   12 31 50
ویرایش شده شهریور 22, 1393 بوسیله ی مسعود لپه‌چی
...