Java-ohjelma numeron tekijän löytämiseksi rekursiota käyttämällä

Tässä ohjelmassa opit etsimään ja näyttämään luvun faktoria Java-rekursiivisella funktiolla.

Tämän esimerkin ymmärtämiseksi sinulla on oltava tieto seuraavista Java-ohjelmointiaiheista:

  • Java-menetelmät
  • Java-rekursio

Positiivisen luvun n kerroin saadaan:

 kerroin n (n!) = 1 * 2 * 3 * 4 *… * n

Negatiivisen luvun kerrointa ei ole olemassa. Ja 0: n kerroin on 1.

Opit etsimään luvun faktoria rekursiolla tässä esimerkissä. Käy tältä sivulta saadaksesi selville, kuinka löydät luvun faktorin silmukan avulla.

Esimerkki: Rekursiota käyttävän luvun kerroin

 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; ) )

Tuotos

 Kerroin 6 = 720

Aluksi multiplyNumbers()kutsutaan main()funktiosta, jonka argumenttina on 6.

Koska 6 on suurempi tai yhtä suuri kuin 1, 6 kerrotaan tulokseen, multiplyNumbers()jossa 5 (num -1) välitetään. Koska sitä kutsutaan samasta toiminnosta, se on rekursiivinen puhelu.

Jokaisessa rekursiivisessa puhelussa argumentin num arvoa pienennetään yhdellä, kunnes num saavuttaa alle 1.

Kun num-arvo on alle 1, rekursiivista puhelua ei ole.

Ja jokainen rekursiivinen puhelu palaa ja antaa meille:

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

Mielenkiintoisia artikkeleita...