Mencari Deret Fibonacci
Fibonaci adalah bilangan dimana bilangan tersebut adalah hasil penjumlahan dari 2 buah bilangan sebelumnya
misal : 1 1 2 dua adalah bilangan yg sedang kita amati adalah hasil penjumlahan dua buah bilangan sebelumnya. Fibonaci akan membentuk sebuah deret bilangan ( deret fibonacci).
ada beberapa cara untuk mencari fibonaci , diantaranya adalah :
a. Fungsi rekursif , yang memenuhi formula berikut
Dimana n adalah bilangan fibonaci digit ke-n
Dengan formula rekursif diatas akan membentuk pola perhitungan sbb :
Jika bilangan itu > 1
F(2) = F(2-1) + F(2-2)
= F(1) + F(0)
= 1 + 0 = 1 //substitusi kedalam fungsi rumus
Begitu seterusnya secara rekursif. Namun secara rekursif kurang disenangi karena memakan banyak memory di Komputer.
b. Cara Logika biasa dan Matematika
b.1 Logika Biasa
int fibonaci(int n){
int i,next,a=0,b=1;
for(i=0;i<n;++i){
if(i<=1){
next = i;
}else{
next = a + b;
a = b;
b= next;
}
printf("%d ",next);
}
}
b.2 Cara matematika
Yang memenuhi formula Fn = (x1n – x2n) / akar(5) dengan pembulatan kebawah
dimana X1 dan X2 adalah akar-akar dari persamaan Kuadrat x2 - x - 1=0
Untuk mencari X1 dan X2 dapat dicari dengan
Maka didapat X1,X2 =>
DI program kita buat seperti ini
int fibonaci(int n){
int i;float tmp;
//x^2 - x - 1 =0
float x1 = ( 1 + sqrt(5) ) / 2;
float x2 = (1 - sqrt(5) ) / 2;
for(i=0;i<n;i++){
tmp = (pow(x1,i) - pow(x2,i)) / sqrt(5);
printf("%d ",(int)floor(tmp)); //pembulatan kebawah
}
printf("\n");
}
No comments:
Post a Comment