Türkiye'nin en dandik Kargo şirketi hangisidir?
View Results
Tanım: Sadece 1′ ve kendisine tam bölünebilen pozitif tam sayılara asal sayı denir. Peki bir sayının asal olup olmadığını nasıl kontrol edebiliriz? Sayımız n olsun. Bu durumda 2 ile n-1 arasında tüm tam sayılara tam bölünüp bölünmediğini kontrol ederek asal olup olmadığını söyleyebiliriz. Bu durumda (n-3) tane bölme işlemi yapmamız gerekiyor.
Bilgi: Tek çift asal sayı 2′dir. Bu bilgi ışığında; yaptığımız bölme işlemlerinin sayısını yarıya indirebiliriz. 2 hariç çift sayılar için asallık kontrolü yapmamıza gerek yok.
Teorem: Bir sayısı kareköküne kadar hiçbir sayıya tam bölünmüyorsa o sayı asaldır. Bu durumda yaptığımız bölme işlemlerinin sayısı baya bir azalacak, çünkü sadece çift olmayan ve karekök n’den küçük tam sayılar için bu testi yapmamız yeterli olacaktır.
public bool isPrime(int n) { if (n < 2) return false; for (int i = 2; i*i <= n; i+=2) if (n % i == 0) return false; return true; }
Visual Studio 2008‘in çıkmasının ardından .Net 3.5 kullanan yazılımlarda da artık bir artış bekleyebiliriz. Bana göre, .Net 3.0 ile gelen yeni teknolojilerden en göze batanı ise Windows Presentation Foundation. WPF ile yapılabilecekleri gördükten sonra insanın ağzının açık kalmaması mümkün değil. Görsellik, esneklik, doğrulama (validation) ve veri bağlama (databinding) gibi arayüz hazırlarken karşılaşılan bir çok güçlük için hazır yapılar WPF ile sunuluyor.
Bu kadar güzel olan bu teknolojinin bence eksik kalan taraflarından birisi veri dönüştürücüler (Data Converter). Arayüzde sunmak istediğiniz verinin bazı durumlarda dönüştürülmesini veya formatlanmasını isteyebilirsiz. Ne kadar gariptirki WPF ile hazır gelen dönüştürücü yok. En basitinden, DateTime tipindeki bir veriyi formatlayarak görüntületebilmenin tek yolu bunun için bir converter yazmak.
M.Orçun Topdağı, blogunda buna çok basit ve güzel bir çözüm sunmuş. Üstelik hali hazırda mevcut olan parçaları bir araya getirerek. Lamda expression’lardan faydalanarak veri dönüştürme nasıl olur diye merak ediyorsanız yazısını okumanızı tavsiye ederim.