Java programm rekursiooni abil arvu faktori leidmiseks

Selles programmis õpite Java rekursiivse funktsiooni abil numbri faktoriaali leidma ja kuvama.

Selle näite mõistmiseks peaksid teil olema teadmised järgmistest Java programmeerimise teemadest:

  • Java meetodid
  • Java rekursioon

Positiivse arvu n faktoriaal arvutatakse järgmiselt:

 faktori väärtus n (n!) = 1 * 2 * 3 * 4 *… * n

Negatiivse arvu faktoori pole olemas. Ja 0 tegur on 1.

Selles näites leiate rekursiooni abil numbri faktori leidmise. Külastage seda lehte, et teada saada, kuidas leiate arvu faktoori silmuse abil.

Näide: rekursiooni kasutava arvu faktoriaal

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

Väljund

 Faktor 6 = 720

Esialgu multiplyNumbers()kutsutakse main()funktsiooni funktsioonist, mille argumendiks on 6.

Kuna 6 on suurem või võrdne 1, korrutatakse väärtus 6 tulemiga, multiplyNumbers()kus 5 (num -1) on läbitud. Kuna seda kutsutakse samast funktsioonist, on see rekursiivne kõne.

Igas rekursiivses kõnes vähendatakse argumendi num väärtust 1 võrra, kuni arv jõuab alla 1.

Kui numbri väärtus on väiksem kui 1, rekursiivset kõnet ei toimu.

Iga rekursiivne kõne tagastab meile järgmise teabe:

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

Huvitavad Artiklid...