Bài toán dãy số Fibonacci - Đệ quy trong C, C++

iThuthuat -
Ở bài giới thiệu C, C++ này itviet360 gửi tới các bạn Code C, C++ bài toán dãy số Fibonacci - Đệ quy. Khái niệm đệ quy không được giới thiệu ở đây nên các bạn có thể tham khảo ở rất nhiều trang đưa ra những đ/n khái quát.
Bài toán dãy số Fibonacci trong C
Code dưới đây là theo code C, đối với console trong C# cũng tương tự.
Các bạn tham khảo code Full:

#include
#include

void DaoSo(long a)
{
if(a>9)
{
printf("%d",a%10);
DaoSo(a/10);
}
else
printf("%d",a);

}

long Fibonaci(int vt)
{
if(vt==1||vt==2)
return 1;
else
return (Fibonaci(vt-2)+Fibonaci(vt-1));

}

void InDayFibonaci(int n,long a=1,long b=0)
{
long kq;
if(n>0)
{
kq=a+b;
printf("%ld ",kq);
InDayFibonaci(n-1,b,kq);
}



}

void main()
{
clrscr();
long a,b;
int choice;

menu:
//Menu Select
printf("\t\t\t www.itviet360.com \n");
printf("\t\t\tCac Chuc Nang\n\n");
printf("\t\t1. Dao So\n");
printf("\t\t2. Tim 1 PT Cua Day Fibonaci\n");
printf("\t\t3. In Day Fibonaci co n pha tu\n");
printf("\t\t4. Thoat\n");


do{
printf("\n\tNhap Lua Chon Cua Ban:");
scanf("%d",&choice);
}while(choice<1||choice>4);


clrscr();
switch(choice)
{
case 1:
printf("\nNhap 1 So Nguyen:");
scanf("%ld",&a);
printf("So Sau khi dao Thu Tu:");
DaoSo(a);
getch(); clrscr();
goto menu;

case 2:
do{
printf("\n%s","Nhap Vi Tri Cua So Fibonaci Can Tim:");
scanf("%d",&b);
}while(b<0);
printf("%s%ld","Phan Tu Can Tim La:",Fibonaci(b));
getch(); clrscr();
goto menu;

case 3:
printf("\nNhap So PT Cua Day Fibonaci can xem:");
scanf("%d",&b);
printf("Day Fibonaci:\n");
InDayFibonaci(b);
getch(); clrscr();
goto menu;

case 4:
break;
}

}

0 comments: