Факториалом числа называют произведение всех натуральных чисел до него включительно. Например, факториал числа 5 равен произведению 1 * 2 * 3 * 4 * 5 = 120.
Формула нахождения факториала:
n! = 1 * 2 * … * n,
где n – это число, а n! – факториал этого числа.
Формулу можно представить в таком виде:
n! = 1 * … * (n-2) * (n-1) * n,
т. е. каждый предыдущий множитель меньше на единицу, чем последующий.
С помощью цикла можно найти факториал как по первой, так и второй формуле. Для вычисления факториала с помощью рекурсии используется вторая формула.
Вычисление факториала циклом
n = int(input()) factorial = 1 while n > 1: factorial *= n n -= 1 print(factorial)
Вычисление факториала с помощью цикла for:
n = int(input()) factorial = 1 for i in range(2, n+1): factorial *= i print(factorial)
Нахождение факториала рекурсией
def fac(n): if n == 0: return 1 return fac(n-1) * n print(fac(5))
0 шаг. Вызов функции: fac(5)
- fac(5) возвращает fac(4) * 5
- fac(4) => fac(3) * 4
- fac(3) => fac(2) * 3
- fac(2) => fac(1) * 2
- fac(1) => 1
- 1 * 2 — возврат в вызов fac(2)
- 2 * 3 — fac(3)
- 6 * 4 — fac(4)
- 24 * 5 – fac(5)
- Возврат в основную ветку программы значения 120.
Функция factorial() модуля math
Модуль math языка программирования Python содержит функцию factorial , принимающую в качестве аргумента неотрицательное целое число и возвращающую факториал этого числа:
КАК ДЕЛАТЬ ВЫЧИСЛЕНИЯ С ФАКТОРИАЛАМИ? #shorts #егэ #огэ #математика #факториал
>>> import math >>> math.factorial(4) 24
Источник: it-systems.su
Программа которая вычисляет факториал
1 февраля 2023
Раздел BigInteger, подраздел Обычное Решение
public static BigInteger getFactorial(int f)
Разве здесь в 4-й строке метод valueOf(); не принимает long? Но i у нас имеет тип int, мы не можем его туда засунуть Пример взят один, но такое во всем разделе. Либо это я что-то путаю, проверьте меня
Екатерина Екатериновна Уровень 17
24 декабря 2022
А что за тетя на картинке, грустная такая, почему? На Лару Фабиан похожа, но постаревшую и уставшую.
Сергей Уровень 22
14 января 2022
«В Java часто для обработки чисел, особенно БОЛЬШИХ, используется класс BigInteger. Ведь если мы используем int, то максимальный факториал, который мы можем взять без потери данных, — 31, для long — 39. А что если нам нужен будет факториал 100?» Ведь максимальный факториал при int это 12! а long: 20!. Что за 31 и 39?) Решаю сейчас задачу и прочитав статью использовал значение 31. Изрядно намучался не понимая что не так)
5 января 2022
public class Factorial < public static void main(String[] args) throws IOException < String s = «543219»; // Любое число в виде строки. Здесь можно args[0], например Files.write( Paths.get(«factorial of » + s), Factorial(s).toString().getBytes()); // Вывод результата в файл >public static BigInteger Factorial(String targetNumberString) < BigInteger target = new BigInteger(targetNumberString).abs(); System.out.printf(«target: %s», target); if(!target.equals(BigInteger.ZERO)) < BigInteger factorial = target; while (!target.equals(BigInteger.ONE)) < target = target.subtract(BigInteger.ONE); System.out.printf(«nnext factor: %s», target); factorial = factorial.multiply(target); >return factorial; > return BigInteger.ONE; > >
Источник: javarush.com
Найти факториал числа. Решение задачи на языке программирования Python
Программирование на C, C++, C#
//a) int max=0; do < const int q=6; int A[q][q]; srand(time(NULL)); for(int i=0;i
setlocale(LC_ALL, «Russian»); int a, b; cout << «Введите первое число:»; cin >> a; cout << «.
void init(int *a, int size); void out(int *a, int size); void out_c(int *a, int size); void main() < setlocale(LC_ALL, «Russian.
int a, b; setlocale(0, «rus»); cout << «Введите начало диапазона:»; cin >> a; cout << «Введи.
unsigned int time=86399; ////cout << «Enter time:»; ////cin >> time; //int day = time / 24 / 3600; //.
int s, hours, min; cout << «Enter distance (km):»; cin >> s; cout << «Enter hours and min: int res(); void main() < char brosok; do < setlocale(LC_ALL, «Russian»); srand(time(NULL)); co.
int a, b; setlocale(0, «rus»); cout << «Введите начало диапазона:»; cin >> a; cout << «Введи.
int begin_hours, begin_min, begin_sec; int end_hours, end_min, end_sec; cout
double gb, bit; cout << «Enter the size of the movie(Gb):»; cin >> gb; cout << «Enter speed co.
Архив блога
- ►2016 (145)
- ►апреля (48)
- ►февраля (44)
- ►января (53)
- ▼2015 (182)
- ►декабря (30)
- ►сентября (13)
- ►июня (13)
- ►мая (23)
- ►апреля (44)
- ▼марта (59)
- Пользователь вводит 3 суммы в копейках, небходимо .
- 20 инопланетян поочередно прилетают на землю с цел.
- Вводить различные числа. Когда будет введен 0, то .
- Вводим любое число с клавиатуры и нужно определить.
- Подсчитать количество натуральных чисел n ( 102 < .
- Написать программу, которая находит в массиве само.
- Написать программу, которая находит в массиве знач.
- Написать программу, которая находит сумму четных и.
- Написать программу, которая выводит содержимое мас.
- Написать программу, которая находит минимальное и .
- Написать программу, которая находит сумму всех отр.
- Показ содержимого массива на экран
- Инициализация массива при помощи цикла
- Найти сумму всех чисел от 1 до 100
- Выбрать наибольшее из трёх заданных чисел
- Определить, есть ли среди цифр заданного целого тр.
- Известны год и номер месяца рождения человека. Опр.
- Определить максимальное и минимальное значения из .
- При помощи цикла показать на экран календарь текущ.
- Написать программу, которая выводит на экран — сле.
- Создать программу, которая выводит на экран просты.
- Вывести на экран прямоугольник из символов 20 на 20
- Написать программу, которая выводит на экран табли.
- Цикл в цикле
- Пользователь вводит с клавиатуры число, необходимо.
- Пользователь вводит с клавиатуры число, необходимо.
- Пользователь вводит с клавиатуры число — программа.
- Использование кириллицы в консольных приложениях
- Пользователь вводить число. Вывести на экран числа.
- Пользователь с клавиатуры последовательно вводит ц.
- Часы бьют каждый час, столько раз, сколько времени.
- Операторы break и continue для конструкции for
- пример конструкции for
- Дано натуральное число n. Написать программу, кото.
- Написать программу, которая находит сумму всех цел.
- Разработать программу, которая выводит на экран го.
- Написать программу, выводящую на экран линию из 5 .
- Написать программу, которая находит сумму всех цел.
- Пример do while
- Пример while
- Напишите программу, реализующую популярную телевиз.
- Известно, что 1 дюйм равен 2.54 см. Разработать пр.
- Дано натуральное число а (a меньше 100). Напишите .
- Напишите программу, проверяющую число, введенное с.
- Программа, которая переводит систему буквенных оце.
- Структура множественного выбора switch
- Практический пример на принадлежность точки кольцу.
- Лесенка if — else if
- Программа, будет определять, какое из двух чисел, .
- Тернарный оператор УТВЕРЖДЕНИЕ ИЛИ ВЫРАЖЕНИЕ?ДЕЙСТ.
- Если к блоку if или else относится только одна ком.
- Конструкция if без else
- Конструкция логического выбора if
- Пример, использующий преобразование типов
- Программа для выяснения параметров окружности
- Введите три числа и выведите на экран значение сум.
- В C нет операции возведения в квадрат.Напишите про.
- Напишите программу, которая переводит гривны в $, .
- Напишите программу, вычисляющую среднее арифметиче.
Источник: prog88.blogspot.com