Формулировка. Дано натуральное число n (которое также может быть равно нулю). Вычислить n!
Примечание: n! (факториал числа n, читается «эн факториал») – произведение всех натуральных чисел до nвключительно.
Решение. Задача очень просто решается через цикл for по всем i от 1 до n, в теле которого мы на каждом шаге домножаем переменную-результат fact (которой до входа в цикл присвоено значение 1) на i. При этом сохраняется и правило 0! = 1, так как при вводе нуля программа не войдет в цикл и на выход пойдет неизмененное в переменной factчисло 1.
Код:
- program Factorial;
- var
- i, n: byte;
- fact: integer;
- begin
- readln(n);
- fact := 1;
- for i := 1 to n do begin
- fact := fact * i
- end;
- writeln(fact)
- end.
Примечание: для накопления результата мы использовали переменную fact типа integer. Как уже говорилось, этот тип охватывает диапазон целых чисел от -2147483648 до 2147483647 (Borland Delphi 7 и PascalABC). Данная переменная позволит сформировать результаты вплоть до 12! (= 479001600) включительно.