§ 6. Выкарыстанне асноўных алгарытмічных канструкцый для рашэння задач

6.3. Вылічэнне значэння фактарыяла ліку

Фактарыялам ліку n называюць паслядоўны здабытак натуральных лікаў, не большых за  n:

n! = 1 · 2 · 3 · ... · n.

Роўнасць 0! = 1 звычайна прымаюць у якасці пагаднення.

Прымер 6.14. Напісаць праграму, якая па ўведзеным натуральным значэнні n атрымлівае n!.

Этапы выканання задання.

I. Для вылічэння : число n.

II. Вынік: f (значэнне n!).

III. Алгарытм рашэння задачы.

1. Ввод числа n.
2. 
Для вычисления n! трэба паслядоўна памнажаць на бягучы натуральны лік тое значэнне, якое атрымалі на папярэднім кроку. Гэта выцякае з роўнасці:

n! =(n – 1)! · n.

3. Для вылічэння здабытку можна выкарыстаць цыкл for. Пачатковае значэнне пераменнай  f роўна 1.
4. Вывад выніку
 S.

IV. Апісанне пераменных: n, f – int.

Назва фактарыял паходзіць ад лацінскага factorialis — які дзейнічае, выконвае, памнажае. У 1808 г. французскі матэматык Крысціян Крамп прапанаваў кампактнае абазначэнне  (вымаўляецца «эн фактарыя'л»).

Фактарыялы ўсіх лікаў складаюць паслядоўнасць A000142 у OEIS.

Прыклад 6.14.

V. Праграма:

#include <iostream>

 

using namespace std;

 

int main()

{

  int n;

  cout << "n = ";

  cin >> n;

  int f = 1;

  for (int i = 1; i <= n; i++)

    f *= i;

  cout << "f = " << f << endl;

  return 0;

}

VI. Тэсціраванне.

VII. Правільнасць вылічэнняў праверыць на калькулятары.