Tässä esimerkissä opit löytämään ei-negatiivisen kokonaisluvun kerroin, jonka käyttäjä on syöttänyt rekursiolla.
Tämän esimerkin ymmärtämiseksi sinulla on oltava tieto seuraavista C-ohjelmointiaiheista:
- C Toiminnot
- C Käyttäjän määrittelemät toiminnot
- C Rekursio
Positiivisen luvun n kerroin saadaan:
factorial of n (n!) = 1 * 2 * 3 * 4 *… * n
Negatiivisen luvun kerrointa ei ole olemassa. Ja faktori 0on 1.
Opit etsimään luvun faktoria rekursiolla tässä esimerkissä. Käy tällä sivulla saadaksesi selville, kuinka voit löytää luvun faktorin silmukan avulla.
Rekursiota käyttävän luvun kerroin
#include long int multiplyNumbers(int n); int main() ( int n; printf("Enter a positive integer: "); scanf("%d",&n); printf("Factorial of %d = %ld", n, multiplyNumbers(n)); return 0; ) long int multiplyNumbers(int n) ( if (n>=1) return n*multiplyNumbers(n-1); else return 1; )
Tuotos
Syötä positiivinen kokonaisluku: 6 Kerroin 6 = 720
Oletetaan, että käyttäjä on syöttänyt 6.
Aluksi multiplyNumbers()kutsutaan siitä main(), kun argumentti on 6.
Sitten 5 siirretään multiplyNumbers()samasta toiminnosta (rekursiivinen puhelu). Kussakin rekursiivisessa puhelussa argumentin n arvo pienenee yhdellä.
Kun n: n arvo on alle 1, rekursiivista kutsua ei ole ja kerroin palautetaan lopulta main()funktioon.








