Merhaba,
Bu yazımda fibonacci dizisinden ve içindeki asal sayıları bulan bir C# console uygulamasından bahsedeceğim.
Fibonacci Sayı Dizisi : 0, 1,1,2,3,5,8,13,21,34,55, 89, 144, 233, 377, 610, 987, 1597, 2584, 4181, 6765, 10946, … vb. şeklinde devam eder. Her sayı kendisinden önce gelen iki sayının toplamıdır.
Fibonacci Sayı Dizisi nerelerde kullanılır?
Fibonacci Sayı Dizisinin Görüldüğü ve Kullanıldığı Yerler:
1) Ayçiçeği: Ayçiçeği’nin merkezinden dışarıya doğru sağdan sola ve soldan sağa doğru taneler sayıldığında çıkan sayılar Fibonacci Dizisinin ardışık terimleridir.
2) Papatya Çiçeği: Papatya Çiçeğinde de ayçiçeğinde olduğu gibi bir Fibonacci Dizisi mevcuttur.
3) Fibonacci Dizisinin Fark Dizisi: Fibonacci Dizisindeki ardışık terimlerin farkıyla oluşan dizi de Fibonacci Dizisidir.
4) Ömer Hayyam veya Pascal veya Binom Üçgeni: Ömer Hayyam üçgenindeki tüm katsayılar veya terimler yazılıp çapraz toplamları alındığında Fibonacci Dizisi ortaya çıkar.
5) Tavşan: Zaten sorumuz tavşanla alakalı…
6) Çam Kozalağı: Çam kozalağındaki taneler kozalağın altındaki sabit bir noktadan kozalağın tepesindeki başka bir sabit noktaya doğru spiraller (eğriler) oluşturarak çıkarlar. İşte bu taneler soldan sağa ve sağdan sola sayıldığında çıkan sayılar, Fibonacci Dizisi’nin ardışık terimleridir.
7) Tütün Bitkisi: Tütün Bitkisinin yapraklarının dizilişinde bir Fibonacci Dizisi söz konusudur; yani yaprakların diziliminde bu dizi mevcuttur. Bundan dolayı tütün bitkisi Güneş’ten en iyi şekilde güneş ışığı ve havadan en iyi şekilde Karbondioksit alarak Fotosentez’i mükemmel bir şekilde gerçekleştirir.
8 ) Eğrelti Otu: Tütün Bitkisindeki aynı özellik Eğrelti Otu’nda da vardır.
9) MİMAR SİNAN: Mimar Sinan’ın da bir çok eserinde Fibonacci Dizisi görülmektedir. Mesela Süleymaniye ve Selimiye Camileri’nin minarelerinde bu dizi mevcuttur.
- Şimdi C# ile fibonnacci dizisi ve içindeki asalları bulan console uygulamasının kodlarını yazalım.
static void Main(string[] args)
{
int birinci = 0, ikinci = 1, ucuncu = 2, yeni = 0;
int deger;
Console.WriteLine("Deger giriniz ? : ");
deger = Convert.ToInt32(Console.ReadLine());
Console.WriteLine("\n\nDizi : ");
Console.WriteLine(birinci);
Console.WriteLine(ikinci);
Console.WriteLine(ikinci);
Console.WriteLine(ucuncu + " sayısı asaldır.!");
List
for (yeni = 0; yeni < deger; yeni++)
{
yeni = birinci + ikinci;
birinci = ikinci;
ikinci = yeni;
list.Add(yeni);
}
foreach (int fibonacci in list)
{
for (int i = 2; i <= fibonacci; i++)
{
int kalan = fibonacci % i;
if (fibonacci != 2 && kalan == 0)
{
Console.WriteLine(fibonacci + " sayısı asal değildir.");
break;
}
if (i == fibonacci – 1)
{
Console.WriteLine(fibonacci + " sayısı asaldır.!");
break;
}
}
}
Console.ReadLine();
}
Algoritma gelişimi için matematiksel uygulamalar yapmanız her zaman önemlidir. Bu bilgiler umarım sizin için yararlı olur.
İyi çalışmalar.