Чтобы понять это решение вам пригодится материал по теме «Функции и процедуры в Pascal«. Другое решение — вычисление факториала в цикле:
Program factorial; Uses Crt; Var f,n,i : LongInt; Begin ClrScr; Write(‘Введите n=’);readln(n); f:=1; For i:=1 To n Do f:=f*i; Write(‘Факториал от числа ‘,n,’! = ‘,f); Readln End.
Чтобы понять это решение достаточно материала лекции «Циклы в Pascal«. В данной задаче нам понадобятся 3 переменные. Переменная n будет хранить в себе число вводимое с клавиатуры. Переменная i будет играть роль счетчика для цикла.
Переменная f хранит в себе окончательный результат. Задачу по поиску факториала проще всего решить с помощью цикла for. В начале программы мы вводим число n. После этого присваиваем переменной f значение 1 (для того, чтобы правильно считать произведение). В цикле for считаем значение факториала и заносим его в переменную f. Допустим, мы ввели число 3 ( n ) , тогда цикл работает так :
1 шаг : 1(f) * 1(i) = 1 ( f )
2 шаг : 1(f) * 2(i) = 2 ( f )Вычисление факториала числа n! Уроки программирования С++
3 шаг : 2(f) * 3(i) = 6 ( f )
Стоит учитывать тот факт, что факториал 9 (девяти) равен 362880 , что больше чем в 10 раз превышает максимальное значение для типа Integer (диапазон от -32 768 до +32 767 ), поэтому в данном примере лучше использовать тип LongInt, диапазон которого от -2147483648 до +2147483647 . Если же и этого будет недостаточно, то можно воспользоваться вещественными типами, количество значащих цифр в которых достигает 20.
Источник: pro-prof.com
Вычисление факториала числа
Вычислить факториал числа, которое ввел пользователь.
Факториал числа представляет собой произведение всех натуральных чисел от 1 до этого числа включительно. Например, факториал числа 7 вычисляется так:
1 * 2 * 3 * 4 * 5 * 6 * 7
Факториал числа обозначается как само число, после которого следует восклицательный знак. Таким образом:
7! = 1 * 2 * 3 * 4 * 5 * 6 * 7 = 5040
С увеличением числа его факториал быстро возрастает. Так если 3! = 6, то уже 10! = 3628800. Поэтому в языке программирования Паскаль не следует вводить большое число, иначе будет возникать ошибка или будет получено неверное значение.
Переменной factorial сначала присваивается значение 1, так как 0! = 1 и 1! = 1.
Если пользователь ввел число больше единицы, то выполняется цикл, в теле которого на каждой итерации значение переменной factorial умножается на следующее натуральное число (значение переменной i ).
Программа на языке Паскаль:
var factorial: longint; n, i: byte; begin write(‘n = ‘); readln(n); factorial := 1; for i := 2 to n do factorial := factorial * i; writeln(‘n! = ‘, factorial); end.
Примеры выполнения программы:
n = 6 n! = 720
n = 9 n! = 362880
Источник: pas1.ru
Вычисление факториала на языке C# (S sharp)
Программа на C++ для рассчета факториала
Факториал числа — это произведение всех целых чисел от 1 до этого числа. Факториал может быть определен только для целых положительных чисел.
Факториал отрицательного числа не существует. А факториал 0 равен 1.
Факториал положительного числа n, скажем 5, обозначается через 5! и задается как:
5! = 1 * 2 * 3 * 4 * 5 = 120
Итак, математическая логика для факториала такова:
n! = 1 * 2 * 3 * . * n
n! = 1 если n = 0 или n = 1
В приведенной ниже программе пользователю предлагается ввести положительное целое число. Затем вычисляется факториал этого числа и отображается на экране.
// подключаем заголовочный файл для std::cout, std::cin
#include
int main()
int n;
long double factorial = 1.0;
cout // записываем введенное число в ранее объявленную переменную
cin >> n;
Введите положительное число: 12
Факториал числа 12 = 479001600
В этой программе мы получаем положительное целое число от пользователя и вычисляем факториал с помощью цикла for. Если пользователь вводит отрицательное число, выводим сообщение об ошибке.