Przejdź do treści głównej
INF.04Pytanie #521 z 856reprezentacja-algorytmow-i-notacje

Przedstawiony rekurencyjny kod źródłowy zapisany językiem Python oblicza

python
def licz(n):
    if n > 1:
        return n * licz(n-1)
    else:
        return 1

print(licz(5))
Opcje odpowiedzi:
A
NWW.
B
sumę kolejnych pięciu liczb.
C
silnię.
Prawidłowa
D
wyraz ciągu Fibonacciego.
Reklama

Wyjaśnienie i uzasadnienie dydaktyczne

Poprawna odpowiedź to C (silnię). Algorytm mnoży liczbę n przez wynik wywołania funkcji dla n-1, aż do osiągnięcia warunku bazowego (n nie jest większe od 1), gdzie zwraca 1. Dla licz(5) otrzymujemy działanie: 5 \cdot 4 \cdot 3 \cdot 2 \cdot 1, co jest definicją silni (5!).

Wyjaśnienie pozostałych opcji:

  • NWW – wymagałoby dwóch liczb wejściowych.
  • Suma – w kodzie musiałby występować operator dodawania (+) zamiast mnożenia (*).
  • Fibonacci – wymagałby sumowania dwóch poprzednich wywołań rekurencyjnych (np. licz(n-1) + licz(n-2)).

Chcesz poćwiczyć całą kwalifikację INF.04?

Egzamin próbny na czas, nauka działami, losowe pytanie albo przegląd całej bazy — wszystko w przeglądarce i bez zakładania konta.

Rozwiąż w Quizie

Pojęcia z tego pytania

Cały słownik INF04
Reklama

Podobne pytania z działu „Reprezentacja algorytmow i notacje”

Ten sam obszar materiału z kwalifikacji INF.04. W całej bazie znajdziesz 13 pytań z tego działu.