5.00 / 1 oy

Java'da altın oran yakınsamasını hesaplayan program

Önceki soruda fibonacci sayılarını yazdıran bir program hazırlayarak paylaşmıştım, öncesinde de fibonacci sayıları ve altın oran konusunda bir şeyler yazarak biraz bilgi vermeye çalışmıştım. Altın oran, fibonacci sayılarından bir sayının bir öncekine ve bir sonrakine bölünmeleri ile elde edilen ve doğada bir çok yerde karşımıza çıkan bir oran (0.618 ve 1.618). Fibonacci sayılarının da gizemi, sayılar büyüdükçe altın orana yakınsamanın artması. Birlikte gözlemleyelim:

Bu sefer fibonacci sayılarından ilk 15'ini bir vektöre kaydeden ve altın oranı da bu vektör elemanlarının bölünmeleri ile elde edilen bir program hazırlayalım.

Not: int veri tipinin sınırından dolayı 20 vektör elemanı alırsanız hata alırsınız.

class Main {
  public static void main(String[] args) {
   
  int[] fibonacci=new int[20];

  fibonacci[0]=1;
  fibonacci[1]=1;

  System.out.println("Fibonacci Sayısı\tOran");

    for (int i=2; i<=15; i++)
          {
          fibonacci[i]+=fibonacci[i-1]+fibonacci[i-2];
          double oran=(double)fibonacci[i]/fibonacci[i-1];
          System.out.println(fibonacci[i]+"\t"+oran);
          }
    } 
    }

Çıktı:

Fibonacci Sayısı    Oran
2                   2.0
3                   1.5
5                   1.6666666666666667
8                   1.6
13                  1.625
21                  1.6153846153846154
34                  1.619047619047619
55                  1.6176470588235294
89                  1.6181818181818182
144                 1.6179775280898876
233                 1.6180555555555556
377                 1.6180257510729614
610                 1.6180371352785146
987                 1.618032786885246

Not: Çıktıyı hizalamak için printf kullanılabilir ama bu da başka bir örneğin konusu olsun.

utku33

24.12.2019 04:28

Bu soru 1 kez yanıtlandı.

Bu soruya sadece kayıtlı kullanıcılar yanıt yazabilirler. Yanıt yazmak için lütfen giriş yapınız.

Reitix
Java'da altın oran yakınsamasını hesaplayan program

İnternet sitemizdeki deneyiminizi iyileştirmek için çerezler kullanıyoruz. Bu siteye giriş yaparak çerez kullanımını kabul etmiş sayılıyorsunuz. Daha fazla bilgi.