Girilen sayının faktöriyelini recursive hesaplayan program
[java]import java.util.Scanner;
//recursive faktöriyel hesaplama
public class onbes {
public static int fak(int sayi){
if(sayi==0)
return 1;
else if(sayi==1)
return 1;
else if(sayi<0)
return -1;
else
return sayi*fak(sayi-1);
}
public static void main(String[] args) {
Scanner s=new Scanner(System.in);
System.out.println("Faktöriyeli hesaplanacak sayıyı giriniz:");
int sayi=s.nextInt();
System.out.println("sonuc: "+fak(sayi));
}
}
[/java]
hocam eline sağlık allah razı olsun yazdığın kodlar deli gibi işime yarıyor vallaha
Yalnız bi kısıtlama olmadığı için sayı eksi sonsuza kadar eksilmez mi dolayısıyla cevap bi artılı bir eksili olmaz mı? Kafam karıştı.
zaten fonksiyon sürekli devam etmesi için sayı 1 den büyük olmalı dikkat ettiysen sayı 1 olunca son return de – 1 yaptığımız için 1 olduğu anda oraya uğramıycak return 1 olucak eğer ki sayı direk 0 ise zaten 1 oluyo 0 dan küçükse -1 oluyor.