Hosted by uCoz

Задача № 28. Вычислить факториал

Формулировка. Дано натуральное число n (которое также может быть равно нулю). Вычислить n!

Примечание: n! (факториал числа n, читается «эн факториал») – произведение всех натуральных чисел до n включительно.

Решение. Задача очень просто решается через цикл for по всем i от 1 до n, в теле которого мы на каждом шаге домножаем переменную-результат fact (которой до входа в цикл присвоено значение 1) на i. При этом сохраняется и правило 0! = 1, так как при вводе нуля программа не войдет в цикл и на выход пойдет неизмененное в переменной fact число 1.

Код:

  1. program Factorial;
  2. var
  3. i, n: byte;
  4. fact: integer;
  5. begin
  6. readln(n);
  7. fact := 1;
  8. for i := 1 to n do begin
  9. fact := fact * i
  10. end;
  11. writeln(fact)
  12. end.

Примечание: для накопления результата мы использовали переменную fact типа integer. Как уже говорилось, этот тип охватывает диапазон целых чисел от -2147483648 до 2147483647 (Borland Delphi 7 и PascalABC). Данная переменная позволит сформировать результаты вплоть до 12! (= 479001600) включительно.