Pengkodean

Soal Deret Fibonacci di Jawa

Daftar Isi sembunyikan 1 Bilangan fibonacci pertama masing-masing adalah 0 dan 1 2 Cetak Deret Fibonacci di Java menggunakan Rekursi...

Ditulis oleh Ashok Kumar · 5 min baca >
Apa contoh deret Fibonacci

Apa itu deret fibonacci di jawa beserta contohnya?
Bagaimana cara menghitung Fibonacci di Jawa?
Apa contoh deret Fibonacci?
Bagaimana cara mencari jumlah deret Fibonacci di Java?

Di blog ini, kita akan memahami konsep deret Fibonacci di Jawa bahasa. Namun sebelum melangkah lebih jauh, kita perlu memahami deret Fibonacci dan propertinya. Deret Fibonacci dalam bahasa Jawa merupakan deret angka yang setiap anggotanya diperoleh dengan menjumlahkan dua anggota sebelumnya. Setiap item dalam deret Fibonacci disebut bilangan Fibonacci.

Untuk memahami model ini, Anda harus mengetahui subjek pemrograman Java yang penting seperti kemampuan, lingkaran, proklamasi kontingen, dan sebagainya. Jadi mohon singgung subjek tersebut sebelum beralih ke deret Fibonacci dalam edisi java.

Misalnya :- 0,1,1,2,3,5,8,13,21,34  dll adalah contoh deret fibonacci

Bilangan fibonacci pertama berturut-turut adalah 0 dan 1

F(N) = F(N-1)+F(N-2)

Ekspresi di atas adalah persamaan umum yang diikuti oleh setiap bilangan Fibonacci. Persamaan di atas juga membantu kita mencari bilangan Fibonacci berikut ini.

Selanjutnya kita akan membahas cara mencetak deret fibonacci dalam bahasa java. Ada beberapa cara untuk mencetak deret Fibonacci di Java. Namun kami akan membahas yang paling umum secara detail. Kami juga akan membahas metode penting lainnya secara singkat. 

  • Cetak Deret Fibonacci di Java menggunakan Rekursi
  • Cetak Deret Fibonacci di Java Secara Iteratif

Cetak Deret Fibonacci di Java menggunakan Rekursi

Karena Angka Fibonacci tidak lain hanyalah penjumlahan dari dua angka sebelumnya, maka kita dapat menggunakan Rekursi dengan ketentuan sebagai berikut:

  1. Dapatkan suku deret Fibonacci mana yang perlu dihitung, yaitu ke-1, ke-2, ke-3, dst.
  2. Iterasi secara rekursif dari nilai N ke 1:
  • Kasus dasar: Di sini, kita perlu menentukan dua kondisi untuk memenuhi kasus dasar, yaitu, jika n sama dengan 1 atau n sama dengan 0, kembalikan n. Karena kita membuat dua panggilan rekursif sekaligus untuk fib_2, kita akan memanggil fib_1 dan fib_0. Jika kita menentukan kasus dasar hanya ketika n sama dengan 1, kode kita akan mendapatkan kesalahan kedalaman rekursi karena fib_0 tidak akan memenuhi kasus dasar.
  • Panggilan rekursif: Jika kondisi dasar tidak terpenuhi, maka kita akan melakukan pemanggilan rekursif untuk dua angka terakhir, yaitu n-1,n-2 sebagai:

fungsi_rekursif(N – 1) + fungsi_rekursif(N – 2);

  • Pernyataan pengembalian: Pada setiap panggilan rekursif, kembalikan jumlah nilai Fibonacci dari dua angka sebelumnya yang ditemukan menggunakan rekursi  

fungsi_rekursif(N – 1) + fungsi_rekursif(N – 2);

Di bawah ini kita dapat melihat implementasi dari pendekatan di atas:

Kode:-

//Impor pemindai

impor java.util.Scanner;

// Deret Fibonacci di Java menggunakan Implementasi Rekursi

kelas coding_ninja {

    // Berfungsi untuk mencetak deret fibonacci

    publik statis int fibonacci(int n) {

        // Kasus Dasar

        jika (n==1||n==0) {

            kembali n;

        }

        // Panggilan rekursif

        mengembalikan fibonacci(n – 1)+ fibonacci(n – 2);

    }

    // Fungsi utama

    public static void main (String [] args) {

        // Membuat objek pemindai 

        Pemindai sc = Pemindai baru(System.in);

        // Ambil N masukan 

        int N = sc.nextInt();

        // Cetak N angka pertama

        untuk (int saya = 0; saya < N; saya++) {

            Sistem.keluar.cetak(fibonacci(i) + “,”);

        }

    }

}

Keluaran:-

8

0,1,1,2,3,5,8,13, 

Cetak Deret Fibonacci di Java Secara Iteratif

Untuk mencetak deret Fibonacci di Java menggunakan iterasi, pertama-tama kita perlu menginisialisasi angka pertama dan kedua 0 dan 1 (Kedua angka1 dan angka2 ini mewakili dua angka pertama dari rangkaian tersebut). Setelah ini, kami akan mencetak angka pertama dan kedua. Setelah itu, kita akan memasukkan aliran ke perulangan for. Kita akan mendapatkan anggota seri berikutnya dengan menambahkan dua anggota sebelumnya. Secara bersamaan kita menukar angka pertama dengan angka kedua dan angka kedua dengan angka ketiga.

Kode:-

// Impor pemindai

impor java.util.Scanner;

coding_ninja kelas publik {

        // Fungsi Fibonacci 

        public static void Fibonacci(int N) {

        // Menginisialisasi dua bilangan fibonacci pertama

        int angka1 = 0, angka2 = 1;

        // Menginisialisasi Penghitung

        untuk(int i=0;i

         Sistem.keluar.cetak(angka1+”,”);

         // Menukar

         int angka3 = angka2 + angka1;

         angka1 = angka2;

         angka2 = angka3;

        }

    }

        public static void main (String [] args) {

        // Membuat objek pemindai 

        Pemindai sc = Pemindai baru(System.in);

        // Ambil N masukan 

        int N = sc.nextInt();

        // Panggil fungsi fibonacci untuk mendapatkan N Angka fibonacci

        Fibonacci(N);

        // Tutup Pemindai

        sc.close();

}

Keluaran:- 

8

0,1,1,2,3,5,8,13, 

Pendekatan: (Pemrograman Dinamis)

Pendekatan Ketiga untuk masalah deret Fibonacci di Java adalah sebagai berikut.

  • Buat array arr1[] dengan ukuran N.
  • Memulai arr1[0] = 0, arr1[1] = 1.
  • Ulangi [2, N] dan perbarui array berikut arr1[] sebagai:
    • arr1[i] = arr1[i – 2] + arr1[i – 1]
  • Cetak nilai arr1[N].

Contoh deret Fibonacci

Contoh: Mari kita ambil bilangan N=7.

Kode

// Program untuk mencetak deret Fibonacci di java

// Pendekatan Pemrograman Dinamis untuk

// Deret Fibonacci

kelas luar biasa {

// Berfungsi untuk mencari Deret N fibonacci

int statis fib_series(int n)

{

// menginisialisasi array untuk menyimpan angka Fibonacci.

// 1 tambahan untuk menangani kasus, n = 0

int fx[] = int baru[n + 2];

di aku;

// nomor 0 dan 1

// deretnya adalah 0 dan 1

fx[0] = 0;

fx[1] = 1;

untuk (saya = 2; saya <= n; saya++) {

// Tambahkan 2 angka terakhir

// dalam rangkaian dan simpan

fx[saya] = fx[saya – 1] + fx[saya – 2];

}

// Bilangan Fibonacci ke-N

kembalikan fx[n];

}

kekosongan statis publik

utama(String argumen[])

{

// berikan Nomor N

ke dalam N = 7;

// Cetak 10 Angka Fibonacci pertama

untuk (int saya = 0; saya < N; saya++)

Sistem.keluar.cetak(fib_series(i) + ” “);

}

}

Keluaran

0 1 1 2 3 5 8 

Ada banyak cara untuk menyelesaikan atau mendapatkan deret bilangan n Fibonacci. Selain kode yang dibahas di atas. Kita dapat mengubah kode di atas dengan berbagai cara, misalnya dengan menggunakan perulangan while, membuat metode perhitungan bilangan Fibonacci, dan masih banyak lagi. Namun beberapa pendekatan yang efektif atau menjanjikan dapat digunakan untuk mendapatkan deret Fibonacci di Java.

  • Cara pertama adalah menggunakan Rekursi yang sudah kami jelaskan di atas.
  • Cara kedua adalah dengan menggunakan Pemrograman Dinamis. Pekerjaan berulang yang dilakukan dalam kode metode rekursi dapat dihindari dengan menyimpan angka Fibonacci yang telah kita hitung. 
  • Cara lain untuk mendapatkan deret Fibonacci di Java adalah dengan menggunakan rumus langsung suku ke-n deret Fibonacci. 

Fn = {[(√5 + 1)/2] ^ n} / √5 

  • Satu lagi cara untuk mendapatkan deret Fibonacci ke-n adalah dengan menggunakan pangkat matriks {{1, 1}, {1, 0}}: Pendekatan ini membutuhkan waktu O(n) lagi. Solusi untuk metode ini adalah jika kita mengalikan n kali matriks M = {{1,1},{1,0}} terhadap dirinya sendiri (dengan kata lain kita menghitung pangkat(M, n)), maka kita akan mendapatkan bilangan Fibonacci ke-(n+1) sebagai elemennya pada baris 0 dan kolom 0 yaitu pada indeks (0, 0) pada matriks resultan.
  • Pendekatan yang dibahas di atas dapat dioptimalkan untuk bekerja dalam kompleksitas waktu O(Logn). Kita dapat mengurangi kompleksitas waktu dengan melakukan perkalian rekursif untuk mendapatkan pangkat (M, n) 

Kesimpulan

Pada artikel ini, kita telah mempelajari tentang deret Fibonacci. Kami telah membahas berbagai konsep tentangnya dan mempelajari cara mencetak deret Fibonacci di java dengan mudah. Di java, berbagai konsep dapat dipelajari pada tingkat awal dan menengah untuk mendapatkan keahlian dalam java. Beberapa konsep menyertakan kata kunci akhir di java, dasar-dasar java, ups konsep, dll. 

Ditulis oleh Ashok Kumar
CEO, Pendiri, Kepala Pemasaran di Make An App Like. Saya Penulis di OutlookIndia.com, KhaleejTimes, DeccanHerald. Hubungi saya untuk mempublikasikan konten Anda. Profil

Tinggalkan Balasan

Translate »