Anasayfa / Bilgisayar Mühendisliği / Algoritmanın Analizi / C# fibonnacci dizisi ve içindeki asalları bulma

C# fibonnacci dizisi ve içindeki asalları bulma

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<int> list = new List<int>();

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.

Hakkında Ali Demirci

Ben Ali Demirci... 1991 Ankara doğumluyum. Ankara da yaşıyorum. Fırsat buldukça öğrendiklerimi burada paylaşıyorum. Java ile haşır neşirim. Android'den asla vazgeçemem. Öğrenmeye bayılırım. Yeni şeyler öğrendiğimde, geçmişteki projelerimde keşke böyle yapsaydım diye çok üzülmüşümdür. O yüzden öğrenmekten korkmayın. Takıldığınız yerleri mutlaka sorun. Biliyorsam yanıt veririm. Bilmiyorsam yol gösteririm. Teşekkürler :)

Kontrol Et

Regex Nedir? Nasıl Kullanılır?

Regex(Regular Expression) yani düzenli ifadeler, metinlerde aranan bir tümceyi kolayca bulmamızı sağlayan bir çeşit algoritmadır. Yani …

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir