Son Yazılar

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 Ahmet Hamatoğlu

1991 İzmir/Konak doğumluyum. Hacettepe Üniversitesi Matematik Bölümü 2014 mezunuyum. Yazılıma ilk olarak bölümde aldığım C++ dersi ile başladım daha sonra Java , Python ve C# dilleriyle geliştirmeler yaptım. Şu anda Yazılım Mühendisi olarak çalışıyorum. .Net ve Oracle teknolojileri üzerine çalışmalarımı sürdürüyorum. Elimden geldiği kadar bilgilerimi aktarmaya çalışıyorum. Junior seviyesinde olduğum için sitede bilgilerimi paylaşmamın araştırma yapmamı sağlamasının bana katkı sağlayacağını düşünüyorum. Sormak istediğiniz aklınıza takılan her konuda yardımcı olmaya çalışırım.

Bir bak istersen...

C# ile Word’e Metin Aktarımı

Merhaba, Bugün Textbox’dan word dosyasına veri aktarma hakkında basit bir uygulamayla bilgi vermeye çalışacağım. Form …

Bir Cevap Yazın

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