Java program za pronalaženje faktorijela broja pomoću rekurzije

U ovom programu naučit ćete pronaći i prikazati faktorijel broja pomoću rekurzivne funkcije u Javi.

Da biste razumjeli ovaj primjer, trebali biste imati znanje o sljedećim temama programiranja Java:

  • Java metode
  • Java rekurzija

Faktorijal pozitivnog broja n daje:

 faktorijel od n (n!) = 1 * 2 * 3 * 4 * … * n

Faktorijal negativnog broja ne postoji. A faktor 0 je 1.

U ovom ćete primjeru naučiti pronaći faktorijel broja pomoću rekurzije. Posjetite ovu stranicu da biste saznali kako možete pronaći faktorijel broja pomoću petlje.

Primjer: Faktorijal broja pomoću rekurzije

 public class Factorial ( public static void main(String() args) ( int num = 6; long factorial = multiplyNumbers(num); System.out.println("Factorial of " + num + " = " + factorial); ) public static long multiplyNumbers(int num) ( if (num>= 1) return num * multiplyNumbers(num - 1); else return 1; ) )

Izlaz

 Faktorijal od 6 = 720

U početku multiplyNumbers()se main()funkcija poziva s funkcijom 6 koja se prosljeđuje kao argument.

Budući da je 6 veće ili jednako 1, 6 se množi do rezultata multiplyNumbers()gdje se prolazi 5 (broj -1). Budući da se poziva iz iste funkcije, to je rekurzivni poziv.

U svakom rekurzivnom pozivu vrijednost argumenta num smanjuje se za 1 dok num ne dosegne manje od 1.

Kad je vrijednost num manja od 1, nema rekurzivnog poziva.

I svaki se rekurzivni poziv vraća dajući nam:

 6 * 5 * 4 * 3 * 2 * 1 * 1 (za 0) = 720

Zanimljivi članci...