Java Recursive Faktoriyel Hesaplama

By Burak TUNGUT - 21.11.2012 - Kategori Java

Bu makale ile herhangi bir döngü kullanmadan Recursive method sayesinde faktoriyel hesaplayacağız.

Bir hayli zamandan sonra tekrar bloğuma geri döndüm, biraz birikim yaparak daha dolu makaleler yazmaya karar verdim tabi bir hafta sonra başlayacak vize haftasından sonra :)

Yapacağımız iş ne ?

Örnek olması için aslında alışılmış faktoriyel hesaplamasını da göstereceğim, fakat yukarıda da belirttiğim gibi recursive methodlar yani kendini çağıran (tekrarlayan) methodlar sayesinde faktoriyel ve benzeri hesaplamaları kolaylıkla yapabiliriz.

faktoriyelHesap1 methodumuz ile gelen sayı kendinden 0 a kadar olan sayıları for döngüsü içinde döndürerek, hesaplamayı bitiriyor.

faktoriyelHesap2 methodumuz ise gelen sayı 0 dan büyük olma şartını arıyarak tekrar kendini çağırıyor.

Classımızı build ettiğimiz zaman bizden bir sayı isteyecek ve iki döngü ile de sonucu ekrana yazdıracak.
 

İşte kodlar

public class faktoriyelHesap {

	
	public static int faktoriyelHesap1(int pSayi)
	{
		int sonuc=1;
		for(int i=pSayi; i>0; i--)
		{
			sonuc*=i;
		}
		return sonuc;
	}
	
	public static int faktoriyelHesap2(int pSayi)
	{
		if(pSayi>0)
		{
			return pSayi * faktoriyelHesap2(pSayi-1);
		}
		else
		{
			return 1;
		}
	}
	
	public static void main(String[] args) {
		Scanner oku = new Scanner(System.in);
		int sayi=oku.nextInt();
		System.out.println("Döngülü Faktoriyel \t\t"+faktoriyelHesap1(sayi));
		System.out.println("Recursive Faktoriyel \t\t"+faktoriyelHesap2(sayi));

	}

}

 

Yorum Bırak

Facebook
Son Yorumlar