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
ve1
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ğin
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ı | first | second | next (Hesaplanan) | Ekrana Yazdırılan |
1 | 0 | 1 | 1 | 0 |
2 | 1 | 1 | 2 | 1 |
3 | 1 | 2 | 3 | 1 |
4 | 2 | 3 | 5 | 2 |
5 | 3 | 5 | 8 | 3 |
6 | 5 | 8 | 13 | 5 |
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