PDA

View Full Version : سوال: برنامه دنباله فیبوناچی کمک



IOI.cpp
شنبه 08 خرداد 1389, 19:37 عصر
سلام. من برنامه زیر رو نوشتم که میخواستم n رو دریافت میکنه و n جمله اول دنباله فیبوناچی رو نمایش بده.


#include<iostream.h>
#include<conio.h>
long unsigned int fibo(int);
void main(){
clrscr();
int n;
cin>>n;
fibo(n);
getch();
}
//****************************************
long unsigned int fibo(int n){
if(n==1||n==2)
{cout<<"\t"<<1;
return 1;
}
cout<<"\t"<<fibo(n-1)+fibo(n-2);
return fibo(n-1)+fibo(n-2);
}

ولی مشکل من اینه که برنامه میاد خط

cout<<"\t"<<fibo(n-1)+fibo(n-2);

رو میخونه بعد که میره خط بعدی دوباره مقادیر
fibo(n-1) و fibo(n-2)
رو بدست میاره
برای مثال خروجی برای
n=3
باید بشه 1.1.2
اما خروجی رو میده 1.1.2.1.1

ali reza mansoori 2
شنبه 08 خرداد 1389, 19:43 عصر
#include<stdio.h>
#include<conio.h>
f (int);
main()
{
clrscr();
int a,b,m;
printf("Enter 1 Number:");
scanf("%d",&a);
f(a);
getche();
return 0;
}
f (int x)
{
int i,a,b,c;
a=0;
b=1;
for (i=1;i<=x;i++)
{
c=a+b;
a=b;
b=c;
printf(" %d",c);
}
}
دوست عزیز ببین این کد بدردت می خوره

Alireza_h
یک شنبه 09 خرداد 1389, 00:03 صبح
سلام. این کد این برنامه به ++C است که شما عدد n را وارد می کنید و به همان تعداد دنباله فیبوناچی چاپ می شود.
فقط ممکن است در کامپایلر شما باید به جای فایل <iostream> از <iostream.h> استفاده کنید.


#include <iostream>
#include <conio.h>
using namespace std;
int main()
{
int f1=0,f2=1,f3=0,n;
cout <<"Enter n = ";
cin>>n;
for (int i=0;i<=n;i++)
{
cout<<" "<<f3;
f1=f2;
f2=f3;
f3=f1+f2;
}
getch();
return 0;
}