Silnia - algorytm iteracyjny

 

 

  Silnią liczby naturalnej n nazywamy iloczyn wszystkich liczb naturalnych od 1 do n. Silnię z n oznaczamy n! (n z wykrzyknikiem). 0! z definicji jest równe 1.  I tak na przykład:

 

1! = 1

2! = 1 * 2 = 2

3! = 1 * 2 * 3 = 6

4! = 1 * 2 * 3 * 4 = 24

5! = 1 * 2 * 3 * 4 * 5 = 120

Ogólnie możemy zapisać: 

n! = 1 * 2 * ... * (n-1) * n

 Bezpośrednim odwzorowaniem tej definicji jest przedstawiony poniżej w postaci schematu blokowego iteracyjny algorytm obliczania wartości funkcji silnia.

Algorytm rekurencyjny obliczania wartości funkcji silnia


Realizacja algorytmu w języku: Pascal, C++, Java, Python, JavaScript

 

Opis algorytmu:

  1. Start - tu rozpoczyna się nasz algorytm.
  2. Wczytujemy dane wejściowe - liczbę naturalną n, będącą argumentem funkcji silnia.
  3. Inicjujemy dwie zmienne pomocnicze:
    i - będzie przyjmowała kolejne wartości naturalne od 1 (tę wartość wstępnie ustawiamy) do n,
    s - w tej zmiennej przechowywana jest wartość iloczynu kolejnych liczb naturalnych, zaczynamy od 1.
  4. Sprawdzamy czy wartość zmiennej i jest mniejsza lub równa n.
  5. Jeśli warunek z punktu 4 jest spełniony, mnożymy dotychczasową wartość iloczynu liczb przez i. Następnie zwiększamy wartość zmiennej i o 1, czyli przechodzimy do kolejnej liczby naturalnej i wracamy do punktu 4 algorytmu. Punkty 4-5 będą wykonywane tak długo aż wartość zmiennej i przekroczy wartość przechowywaną w zmiennej n.
  6. Po obliczeniu iloczynu kolejnych liczb naturalnych od 1 do n wypisujemy wynik zawarty w zmiennej s.
  7. Stop - koniec algorytmu.