Написать программу которая вычисляет факториал введенного с клавиатуры числа

Чтобы понять это решение вам пригодится материал по теме «Функции и процедуры в 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. Если пользователь вводит отрицательное число, выводим сообщение об ошибке.

Читайте также:
Как рассчитать показатели производственной программы
Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru