Asp.net Ortamında sayısal e değerinin bulunması


Matematikte e sayısının 2.7'ye eşit olduğunu biliyoruz. Bu sayının formülü;

e= 1/0!  + 1/1! + 1/2! + .... + 1/n! şeklindedir. Buradaki n değeri ne kadar büyük seçilirse o kadar hassas şekilde sonucu hesaplarız. Fakat en fazla 20! değeri int tipinde hesaplanabildiğinden maksimum n=20 için hesaplama yapalım. 


Problemi iki aşamaya ayıralım, önce faktöriyel hesaplayan bir statik metod yazalım

public static int faktoriyel (int sayi)
    {
        int fakt=1;
        if (sayi == 0)
            return (1);
        else
        {
            for (int i = 1; i <= sayi; i++)
                fakt *= i;
            return (fakt);
        }
    }
    

Daha sonra hesapla butonunun Click olayının içinde tanımladığımız faktöriyel metodunu çağıralım.
 

 protected void btnHesapla_Click(object sender, EventArgs e)
    {
        int n = int.Parse(txtN.Text);
        double toplam = 0;
 
        for (int i = 0; i <= n; i++)
            toplam += 1.0 / faktoriyel(i);
 
        lblSonuc.Text = toplam.ToString();
    }

Burada döngü içinde 0'dan başlayıp n'değerine kadar birer birer ilerledik. Döngünün her bir çevriminde toplam değişkeninn üzerine her bir terimi ekleyerek sonucu bulduk.

1/faktoriyel(0) + 1/faktoriyel(1)+...+1/faktoriyel(n)

Mutlu kodlamalar,
Oğuzhan TAŞ
Kasım, 2016


Bookmark and Share