Yêu cầu:
Viết chương trình in dãy số Fibonanci nhỏ hơn giá trị N. Biết rằng:
f(0) = f(1) = 1
f(n) = f(n – 1) + f(n – 2)
Thuật toán:
– Cách 1: dùng đệ quy
– Cách 2: dùng công thức f(n) = f(n – 1) + f(n – 2)
Code:
/************************************************************ * Author: VNCODING * History * 2014/03/18 first create VNCODING *************************************************************/ #include "stdio.h" #include "conio.h" #define F0 1 void main() { int N = 0; int Fn; int Fn1, Fn2; Fn1 = Fn2 = F0; do { printf("\nNhap vao so nguyen duong N: "); scanf("%d", &N); } while(N <= 1); printf("\nFibonanci :\t%d\t%d", Fn1, Fn2); while(Fn1 + Fn2 < N) { Fn = Fn1 + Fn2; printf("\t%d", Fn); Fn1 = Fn2; Fn2 = Fn; } getch(); }
Kết quả:
Nhap vao so nguyen duong N: 100 Fibonanci : 1 1 2 3 5 8 13 21 34 55 89
Leave a Reply
You must be logged in to post a comment.