Fibonacci Dizisi Görüntüleme
Fibonacci dizisi, bir sonraki terimin önceki iki terimin toplamı olduğu bir dizidir. Fibonacci dizisinin ilk iki terimi 0 ve ardından 1’dir.
Fibonacci Serisi: 0, 1, 1, 2, 3, 5, 8, 13, 21, 34
İlk iki terimimizin şöyle olduğunu varsayalım:
ilkterim = 0
ikinciterim = 1
Fibonacci dizisindeki sonraki terimler şu şekilde hesaplanacaktır:
sonrakiterim = ilkterim + ikinciterim; (0 + 1)
ilkterim = ikinciterim; (1)
ikinciterim = sonrakiterim; (1)
sonrakiterim = ilkterim + ikinciterim; (1 + 1)
....
Şimdi bu mantığı programımıza uygulayalım.
Örnek: Fibonacci Dizisini for Döngüsü Kullanarak Görüntüleme
class Main {
public static void main(String[] args) {
int n = 10, ilkterim = 0, ikinciterim = 1;
System.out.println("Fibonacci Dizisinden " + n + " terim:");
for (int i = 1; i <= n; ++i) {
System.out.print(ilkterim + ", ");
// Bir sonraki terimi hesaplar
int sonrakiterim = ilkterim + ikinciterim;
ilkterim = ikinciterim;
ikinciterim = sonrakiterim;
}
}
}
Çıktı:
Fibonacci Dizisinden 10 terim:
0, 1, 1, 2, 3, 5, 8, 13, 21, 34,
Yukarıdaki programda, ilkterim ve ikinciterim sırasıyla 0 ve 1 ile başlatılır (Fibonacci dizisinin ilk iki basamağı).
Burada, for döngüsünü şu amaçlarla kullandık
- Dizinin
ilkterim‘ini yazdırır, ilkterimveikinciterimi‘i toplayaraksonrakiterim‘i hesaplar,ikinciterimdeğeriniilkterim‘e vesonrakiterimdeğeriniikinciterim‘e atamış olur.
Örnek 2: while döngüsünü kullanarak Fibonacci dizisini görüntüleme
class Main {
public static void main(String[] args) {
int i = 1, n = 10, ilkterim = 0, ikinciterim = 1;
System.out.println("Fibonacci Dizisinden " + n + " terim:");
while (i <= n) {
System.out.print(ilkterim + ", ");
int sonrakiterim = ilkterim + ikinciterim;
ilkterim = ikinciterim;
ikinciterim = sonrakiterim;
i++;
}
}
}
Çıktı:
Fibonacci Dizisinden 10 terim:
0, 1, 1, 2, 3, 5, 8, 13, 21, 34,
Bu programın çalışması bir önceki programla aynıdır.
Her iki program da teknik olarak doğru olsa da, bu durumda bir for döngüsü kullanmak daha iyidir. Çünkü iterasyon sayısı (1‘den n‘ye kadar) bilinmektedir.
Örnek 3: Belirli bir sayıya kadar Fibonacci dizisini görüntüleme
class Fibonacci {
public static void main(String[] args) {
int n = 180, ilkterim = 0, ikinciterim = 1;
System.out.println("Fibonacci Dizisi " + n + " e Kadar : ");
while (ilkterim <= n) {
System.out.print(ilkterim + ", ");
int sonrakiterim = ilkterim + ikinciterim;
ilkterim = ikinciterim;
ikinciterim = sonrakiterim;
}
}
}
Çıktı:
Fibonacci Dizisi 180 e Kadar :
0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144,
Bu örnekte, belirli bir sayının Fibonacci serisini görüntülemek yerine, verilen sayıya (180) kadar olan seriyi görüntülüyoruz.
Bunun için sadece ilkterim‘i n ile karşılaştırmamız gerekiyor. ilkterim n‘den küçükse diziye yazdırılır. Aksi takdirde, seri tamamlanır.
