Factorial di Java


factorial? kalo ingin mengerti tentang apa itu factorial silahkan mengunjungi tempat ini [0]. untuk implementasinya di java sangat gampang, namun yang menjadi kendala adalah jangkauan tipe data numerik di java. jika kita menggunakan tipe data integer, maka cakupannya hanya mencapai kurang lebih 2 milyar, dan untuk long cakupannya kurang lebih 9 triliun. sedangkan untuk faktorial 22 saja, sudah lebih dari jangkauan tipe data long sehingga long hanya dapat mencapai faktorial 20. untuk mengakali hal ini kita bisa menggunakan tipe data BigInteger.

public BigInteger factorial(long i) {
   if (i == 0 || i == 1)
      return new BigInteger("1");
   else
      return new BigInteger(String.valueOf(i)).multiply(factorial(i - 1));
}

note :
[0] http://mathworld.wolfram.com/Factorial.html

Iklan