Algoritma mantığını iyi kavrayabilmek için en iyi yöntemlerden biri, matematiksel dizileri programlayarak oluşturmak ve ekrana yazdırmaktır. Bu yazımızda, kullanıcıdan bir sayı alarak Fibonacci dizisinin o kadar terimini ekrana yazdıran bir Java programı oluşturacağız. Ancak önce Fibonacci dizisinin ne olduğunu kısaca açıklayalım

FİBONACCİ SAYILARI NEDİR?

Fibonacci dizisi, her terimin kendisinden önce gelen iki terimin toplamı olduğu bir sayı dizisidir. Dizinin ilk iki terimi genellikle 0 ve 1 olarak kabul edilir. Bundan sonra gelen her sayı, kendinden önceki iki sayının toplamı olarak hesaplanır.

Örneğin:0,1,1,2,3,5,8,13,21,34,55,…0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, …0,1,1,2,3,5,8,13,21,34,55,…

Matematiksel olarak Fibonacci dizisi şu şekilde tanımlanır:F(n)=F(n−1)+F(n−2)F(n) = F(n-1) + F(n-2)F(n)=F(n−1)+F(n−2)

Burada:

  • F(0)=0F(0) = 0F(0)=0
  • F(1)=1F(1) = 1F(1)=1
  • F(n)=F(n−1)+F(n−2)F(n) = F(n-1) + F(n-2)F(n)=F(n−1)+F(n−2) (n ≥ 2 için)

Bu dizi, doğada birçok yerde karşımıza çıkar. Örneğin, ayçiçeği tohumlarının diziliminde, sarmal yaprak düzenlerinde ve hatta tavşanların üreme modelinde Fibonacci dizisi kullanılır.

Şimdi, kullanıcıdan alınan sayı kadar Fibonacci terimini ekrana yazdıran Java programımıza geçelim.


İSTENEN

Kullanıcıdan alınan sayı kadar fibonacci terimini ekrana yazdıran java kodu nedir ?

ÇÖZÜM:

import java.util.Scanner;

public class Fibonacci {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.print("Kaç Fibonacci terimi yazdırılsın? ");
        int n = scanner.nextInt();
        
        int first = 0, second = 1;
        
        System.out.println("Fibonacci Serisi:");
        for (int i = 0; i < n; i++) {
            System.out.print(first + " ");
            int next = first + second;
            first = second;
            second = next;
        }
        scanner.close();
    }
}

KODUN AÇIKLAMASI

Scanner scanner = new Scanner(System.in);
System.out.print("Kaç Fibonacci terimi yazdırılsın? ");
int n = scanner.nextInt();
  • Kullanıcıdan bir tam sayı alıyoruz (n), böylece kaç Fibonacci terimi üretileceğini belirliyoruz.
  • Scanner sınıfını kullanarak klavyeden giriş alıyoruz.
int first = 0, second = 1;
  • Fibonacci dizisi 0 ve 1 ile başladığı için başlangıç değerlerini tanımlıyoruz.
System.out.println("Fibonacci Serisi:");
for (int i = 0; i < n; i++) {
    System.out.print(first + " ");
    int next = first + second;
    first = second;
    second = next;
}
  • for döngüsü, kullanıcının belirttiği n kadar tekrar eder.
  • Her iterasyonda first ekrana yazdırılır.
  • Yeni Fibonacci terimi (next) hesaplanır ve değişkenler güncellenir.

Örneğin, n = 6 için döngünün çalışma mantığı şöyle olur:

Döngü Adımıfirstsecondnext (Hesaplanan)Ekrana Yazdırılan
10110
21121
31231
42352
53583
658135

Sonuç olarak ekrana:
0 1 1 2 3 5 yazdırılmış olur.

scanner.close();
  • Kullanıcı girişini aldıktan sonra Scanner nesnesini kapatıyoruz.
  • Bu, gereksiz bellek kullanımını önlemek için iyi bir alışkanlıktır.

No responses yet

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir