Vissza

Rekurzió I


1. Felhasználva a helyenként megadott pszeudokódokat írjunk rekurzív függvényt, amely meghatározza:

  • egy tízes számrendszerbeli szám számjegyeinek számát
    a pszeudokód:
    fugv(szam)
        if (szam <= 9) return 1
        return 1 + fugv(szam/10)
  • egy tízes számrendszerbeli szám számjegyeinek összegét
    a pszeudokód:
    fugv(szam)
        if (szam <= 9) return szam
        return szam%10 + fugv(szam/10)
    a C kódok:
    int fugv1(int szam){                    int fugv2(int szam) {
        int t;                                if (szam <= 0) return 0;
        if (szam <= 0) return 0;              return (szam%10) + fugv2(szam/10);
        t = fugv2(szam/10);                   }
        return t + (szam%10);
    }
  • egy tízes számrendszerbeli szám számjegyeinek szorzatát
    a pszeudokód:
    fugv(szam)
        if (szam <= 9) return szam
        return szam%10 * fugv(szam/10)
  • egy tízes számrendszerbeli szám számjegyeinek maximumát
    a pszeudokód:
    fugv(szam)
        if (szam <= 9) return szam
        tmp = fugv(szam/10)
        szj = szam%10
        if (tmp > szj) return tmp
        return szj

  • egy adott számjegy előfordulását egy adott tízes számrendszerbeli számban
  • egy tízes számrendszerbeli szám fordított alakját

2. Írjunk rekurzív függvényt, amely meghatározza:

  • egy adott n egész szám faktoriális értékét
    a pszeudokód:
    fugv(szam)
        if (szam == 0) return 1
        return szam * fugv(szam-1)
  • az-n ik Fibonacci szám értékét
    A C kód:
    unsigned int fib(unsigned int n){
        if (n <= 2) return 1;
        return fib(n-1) + fib(n-2);
    }

3. Írjunk rekurzív függvényt amely

  • meghatározza egy egész elemű tömb elemeinek az összegét
  • meghatározza egy egész elemű tömb elemeinek a szorzatát
  • egy egész elemű tömb elemeit kiírja fordított sorrendbe a képernyőre
  • meghatározza egy egész elemű tömb elemei közül a maximumot
  • meghatározza, hogy hány páros szám van egy egész elemű tömbben
  • meghatározza, hogy hány prímszám van egy egész elemű tömbben