Bilmek istediğin her şeye ulaş

Bilgisayar müh. 1.sinifim 3,2! Javada nasil hesaplanir?

Bu soru sanırım daha önce sorulmuştu. Matematiksel olarak 3,2! Tanımlı değil. Faktoriyel tamsayıdan tamsayıya bir fonksiyon. Bu fonksiyonun reel eşleniği gamma fonksiyonu: Aşağıda daha önce verdiğim benzer bir yanıt var. 4,2 yerine 3,2 kullanın.

Gamma fınksiyonu reel sayılardan reel sayılara olan ama faktoriyele en yakın fonksiyondur. Aslında denildiği gibi 4.2'nin faktoriyeli yoktur. Ama gamma fonksiyonu sonucunu hesaplayabilirsiniz ki istenen bu gibi.

Gamma(t) = Integral[ (x^(t-1)) e^(-x) ] integralinin 0'dan sonsuza sonucudur. Bunu 0,1 hassasiyetle dijitalize ederseniz:

const int BIG_NUMBER = 1000000;
int sonuc = 0;
delta = 0.1;

for (int i=0; i< BIG_NUMBER; i++) {
sonuc += ((i*delta) ^(4.2 - 1) *exp(-i*delta) *delta;
}

Not: exp fonksiyonunun java'da hangi kütüphane de olduğunu bilmiyorum (java.lang.math olmalı). Yazdığımı sahte-kod olarak düşünün. Ayrıca kodu hızla yazdım ve denemedim, hata içerebilir. Delta ne kadar küçük BIG_NUMBER ne kadar büyükse sonuç o kadar doğru çıkar.
  • Paylaş
Sonraki Soru
HESAP OLUŞTUR

İstatistikler

42 Görüntülenme2 Takipçi1 Yanıt

Konu Başlıkları