Deret fibonacci dengan fungsi rekursif.
Di dalam deret fibonacci, angka ke(n) adalah penjumlahan dari angka ke(n-1) dengan angka ke(n-2). sebagai contoh:
7 angka dalam deret fibonacci pertama adalah:
1, 1, 2, 3, 5, 8, 13
- angka 13 adalah bilangan fibonacci dalam deret ke-7.
- angka 13 di dapat dari penjumlahan angka 8 (yang merupakan bilangan fibonacci deret ke-6) dengan angka 5 (yang merupakan bilangan fibonacci deret ke-5)
·
Program akan
mencari semua nilai faktorial dalam range 5, yaitu :
5! = 120
4! = 24
3! = 6
2! = 2
1! = 1
0! = 1
·
Akan terbentuk
suatu deret yaitu : 120, 24, 6, 2, 1, 1
·
Program menyimpan
semua hasil faktorial itu ke dalam array
·
Lalu program akan
mencari pertambahan dari deret ini dengan aturan :
{(n) + (n+1)
} + {(n+1) + (n+2)} . . . .
Dengan n
adalah indeks awalnya
Dalam kasus
ini :
(120 + 24) +
(24 + 6) + (6+2) + (2+1) + (1+1) + (1+0) = 188
Untuk memenuhi tugas laporan final praktikum, berikut ini saya share
koding an untuk Menampilkan Deret FAKTORIAL yang dihitung seperti
bilangan FIBONACCI (secara rekursif)import java.util.Scanner;
public class lp7 {
public static void main (String[] args) {
fibonacci fajar = new fibonacci();
}
}
class fibonacci {
public Scanner sc = new Scanner(System.in);
public int n=0;
public int jumlah=0;
public int temp=0;
public int a,b;
public int faktorial(int x) {
if(x==1||x==0)
return 1;
else
return x*faktorial(x-1);
}
public fibonacci() {
System.out.print(" Masukkan bilangan : ");
n = sc.nextInt();
int[] hitung = new int[n+2];
hitung[0] = 1;
System.out.print(" Deret Bilangan : ");
for(int f=n;f>=0;f--) {
hitung[f]=faktorial(f);
System.out.print(hitung[f]+" ");
}
for(int i=n;i>=0;i--) {
if(i==0) a=0; else
a=hitung[i-1];
b=hitung[i];
temp=a+b;
System.out.printf("\n%d+%d=%d",a,b,temp);
jumlah+=temp;
}
System.out.printf("\nHasil Penjumlahannya = %d\n",jumlah);
}
}
Berikut ini adalah hasil program saat program dijalankan
wehhh makasi bnyak jar. nice post.. :)
BalasHapus