Форум программистов, компьютерный форум, киберфорум
Python: Решение задач
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.77/653: Рейтинг темы: голосов - 653, средняя оценка - 4.77
2 / 1 / 1
Регистрация: 01.11.2019
Сообщений: 43

Факториал

04.11.2019, 13:29. Показов 138574. Ответов 16
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Напишите программу, которая считывает целое неотрицательное число n и выводит его факториал. Факториал числа n обозначается n! и равен произведению всех натуральных чисел от 1 до n:

n! = 1 * 2 * … * n

Факториал нуля принят равным 1.

Формат ввода
Число n.

Формат вывода
Одно число — n!

Пример
Ввод Вывод
4 24
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
04.11.2019, 13:29
Ответы с готовыми решениями:

Дано натуральное число N. Если N – четное, то найти факториал всех четных чисел, а если N – нечетное, то найти факториал
Дано натуральное число N. Если N – четное, то найти факториал всех четных чисел, а если N – нечетное, то найти факториал всех нечетных...

Факториал
Написать программу на Python Даны числа a, b, c, d, e. Посчитать их факториалы и вывести на экран только те числа, факториал которых...

Факториал
Напишите программу, которая вычисляет факториал натурального числа N ( 1 ≤ N ≤ 10000 ), сохранив все значащие цифры. Факториалом называется...

16
 Аватар для Damenikx
955 / 341 / 114
Регистрация: 04.08.2018
Сообщений: 2,533
04.11.2019, 13:37
Лучший ответ Сообщение было отмечено mik-a-el как решение

Решение

Даже функция отдельная для этого есть, всё равно читать не хотите. Да чёрт с ним читать, лень даже в гугл залезть...

Python
1
2
3
4
import math
n = int(input('Fact: '))
res = math.factorial(n)
print(res)
3
3582 / 2182 / 571
Регистрация: 02.09.2015
Сообщений: 5,510
04.11.2019, 13:38
Python
1
2
3
from math import factorial
 
print(f"{factorial(int(input()))}")
Добавлено через 59 секунд
Damenikx,
1
 Аватар для Damenikx
955 / 341 / 114
Регистрация: 04.08.2018
Сообщений: 2,533
04.11.2019, 13:50
Arsegg, по-питоновски, красота !

Добавлено через 21 секунду

Не по теме:

Arsegg, ждёт ответа от ТС: "а можно полегче как-нибудь?"

0
3582 / 2182 / 571
Регистрация: 02.09.2015
Сообщений: 5,510
04.11.2019, 13:54
Damenikx,

Не по теме:

ждем уважаемого Catstail

1
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38173 / 21108 / 4307
Регистрация: 12.02.2012
Сообщений: 34,707
Записей в блоге: 14
04.11.2019, 15:18
Лучший ответ Сообщение было отмечено Рыжий Лис как решение

Решение

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
from functools import reduce
 
def fact_1(n):
    return reduce(lambda acc,x : x*acc, range(1,n+1))
    
def fact_2(n):
    p=1
    for i in range(2,n+1):
        p*=i
    return p    
    
print(fact_1(int(input()))  
print(fact_2(int(input()))
5
Автоматизируй это!
Эксперт Python
 Аватар для Welemir1
7390 / 4817 / 1246
Регистрация: 30.03.2015
Сообщений: 13,675
Записей в блоге: 29
04.11.2019, 15:50
Ну и куда же без функционального с рекурсией!
Python
1
2
3
4
5
>>> factorial = lambda x: 1 if x<1 else factorial(x-1)*x
>>> factorial(5)
120
>>> factorial(10)
3628800
4
Эксперт PythonЭксперт Java
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
04.11.2019, 16:15
Дай я один из вариантов
Python
1
2
3
4
5
6
7
8
n = int(input())
 
fact = 1
while n > 1:
    fact *= n
    n -= 1
 
print(fact)
2
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38173 / 21108 / 4307
Регистрация: 12.02.2012
Сообщений: 34,707
Записей в блоге: 14
04.11.2019, 19:37
iSmokeJC, Welemir1, Arsegg, а как вам вот такая рекурсия:

Python
1
2
3
print((lambda n,f : 1 if n==1 else n*f(n-1,f)) (5,(lambda n,f : 1 if n==1 else n*f(n-1,f))))
 
>>> 120
4
Эксперт PythonЭксперт Java
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
04.11.2019, 19:39

Не по теме:

Цитата Сообщение от Catstail Посмотреть сообщение
а как вам
Чумовая, ага!

0
3582 / 2182 / 571
Регистрация: 02.09.2015
Сообщений: 5,510
04.11.2019, 19:50
Catstail, мощно, но можно обойтись без дублирования:
Python
1
2
In [1]: (lambda factorial, x: factorial(factorial, x))(lambda factorial, x: 1 if x == 0 else factorial(factorial, x - 1) * x, 5)
Out[1]: 120
Добавлено через 2 минуты
Catstail, iSmokeJC, Welemir1,

Не по теме:

я думаю, у бегемотика заболит животик от такого обилия вариантов. Да и не только животик. У меня вот сейчас голова болит от функциональщины.

3
0 / 0 / 0
Регистрация: 12.07.2020
Сообщений: 19
31.10.2020, 05:41

Python
1
2
import math
print(math.factorial(int(input())))
0
Эксперт PythonЭксперт Java
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
31.10.2020, 08:31
Angrey_p, и чем твой ответ лучше постов №2, 3 ?
0
Автоматизируй это!
Эксперт Python
 Аватар для Welemir1
7390 / 4817 / 1246
Регистрация: 30.03.2015
Сообщений: 13,675
Записей в блоге: 29
31.10.2020, 11:08
iSmokeJC, да и вообще после всех вариантов выше я бы постеснялся такое выкладывать.
1
1 / 1 / 0
Регистрация: 27.10.2021
Сообщений: 2
27.10.2021, 15:28
Python
1
2
3
4
5
6
7
8
9
10
n = int(input())
if n == -1 or n == 1:
    print(1)
elif n > 1:
    factorial = 1
    for i in range(2, n + 1):
        factorial *= i
    print(factorial)
elif n == 0:
    print('1')
1
2 / 2 / 0
Регистрация: 13.03.2023
Сообщений: 31
17.10.2023, 16:29
Я вот похоже написал)
Python
1
print((lambda f: f(f))(lambda g: lambda x: x and x * g(g)(x - 1) or 1)(int(input())))
0
17.10.2023, 16:57

Не по теме:

Опять активизируются некропостеры :)


Цитата Сообщение от Damenikx Посмотреть сообщение
- Ваша любимая игрушка в детстве? - Пластилин.
- А что из него получалось? - Всё.
А кто не любил пластилин? В детстве-то...
Виктор правду сказал... жизни... к тому же в его детстве, такого разнообразия игрушек не было, как и пластилина, увы

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
17.10.2023, 16:57
Помогаю со студенческими работами здесь

Факториал
Для заданного натурального N найти последнюю ненулевую цифру числа N!. Входные данные Входной файл содержит число N...

Факториал
Помогите решить задание! Найдите наибольшее i для которого i**i нацело делит факториал 2020 (2020! = 1*2*3*....*2020). a нацело делит...

Факториал 1.1
Найти число нулей, которыми заканчивается число n! в десятичной системе счисления.

Факториал 2.1
Найти младшую не равную нулю цифру числа n! в десятичной системе счисления.

Double факториал
n!! - произведение всех чисел от 1 до n, имеющих ту же чётность, что и n. Напишите программу, которая по введённому числу составит...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
17
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru