Как найти сумму факториалов python

Решение модуля 7.9 из курса «Поколение python: курс для начинающих»

Решение на питоне заданий из модуля 7.9 с сайта stepik.org из курса «Поколение python: курс для начинающих». Предыдущий модуль 7.8.

Численный треугольник 3
Дано натуральное число n. Напишите программу, которая печатает численный треугольник с высотой равной nn, в соответствии с примером:
1
2 3
4 5 6
7 8 9 10
11 12 13 14 15
16 17 18 19 20 21

Формат входных данных
На вход программе подается одно натуральное число.
Формат выходных данных
Программа должна вывести треугольник в соответствии с условием.
Примечание. Используйте вложенный цикл for.

num = int(input()) # Определение высоты массива count = 0 # Порядковый номер цифры = число в массиве for y in range(1, num + 1): # Первый цикл высоты массива for x in range(y): # Второй цикл длины массива count += 1 # увеличиваем счетчик print(count, end=' ') # Вывод текущего числа и в конце пробел print() # Переход к новой строке 

Численный треугольник 4
Дано натуральное число n. Напишите программу, которая печатает численный треугольник с высотой равной nn, в соответствии с примером:
1
121
12321
1234321
123454321

Формат входных данных
На вход программе подается одно натуральное число.Формат выходных данных
Программа должна вывести треугольник в соответствии с условием.
Примечание. Используйте вложенный питон цикл for.

num = int(input()) for i in range(1, num + 1): # цикл отвечающий за количество рядов count = 0 # счетчик для ряда, при каждом новом цикле обнуляется for j in range(i): # 1й вложенный count += 1 # увеличиваем цифру в ряду print(count, end='') # вывод на печать без пробелов for k in range(i, 1, -1): # 2й вложенный count -= 1 # уменьшаем цифру в ряду print(count, end='') # вывод на печать без пробелов print() # переход на новую строку

Делители-1 ?️
На вход программе подается два натуральных числа a и b (a < b). Напишите программу, которая находит натуральное число из отрезка [a;b] с максимальной суммой делителей.
Формат входных данных
На вход программе подаются два числа, каждое на отдельной строке.
Формат выходных данных
Программа на python должна вывести два числа на одной строке, разделенных пробелом: число с максимальной суммой делителей и сумму его делителей.
Примечание. Если таких чисел несколько, то выведите наибольшее из них.

a , b = int(input()), int(input()) total_maximum = 0 # сумма делителей digit = 0 # число с максимальной суммой делителей for i in range(a, b + 1): # цикл перебирающий все числа от a до b включительно maximum = 0 # обнуление суммы делителей, для нового цикла for j in range(1, i + 1): # проверяем все числа от 1 до числа не превышающего проверяемое if i % j == 0: # проверка на деление без остатка maximum += j # суммируем делители if maximum >= total_maximum: # если сумма делителей больше max суммы делителей total_maximum = maximum # записываем в переменную максимальную digit = j print(digit, total_maximum) # вывод 

Делители-2
На вход программе подается натуральное число n. Напишите программу, выводящую графическое изображение делимости чисел от 1 до n включительно. В каждой строке надо напечатать очередное число и столько символов «+», сколько делителей у этого числа.
Формат входных данных
На вход программе подается одно натуральное число.
Формат выходных данных
Программа должна вывести графическое изображение чисел от 1 до n, каждое на отдельной строке.

n = int(input()) for i in range(1, n+1): # циклом перебираем все числа от 1 до n включительно print(i, end = '') # вывод текущего числа for j in range(1, i+1): # цикл поиска делителя if i % j == 0: # если число делится без остатка print('+', end='') # то печатаем + без пробела print() # переход на новую строку

Цифровой корень
На вход программе подается натуральное число n. Напишите программу, которая находит цифровой корень данного числа. Цифровой корень числа n получается следующим образом: если сложить все цифры этого числа, затем все цифры найденной суммы и повторить этот процесс, то в результате будет получено однозначное число (цифра), которое и называется цифровым корнем данного числа.
Формат входных данных
На вход программе подается одно натуральное число.
Формат выходных данных
Программа должна вывести цифровой корень введенного числа.
Примечание. Используйте вложенные циклы while .

n=int(input()) # ввод числа while n>9: # до тех пор, пока в числе n не останется одна цифраа s = 0 while (n > 0): last_digit = n % 10 # получить последнюю цифру s += last_digit # к числу прибавляем последнюю цифру n = n // 10 # удалить последнюю цифру из числа n = s print(n)

Сумма факториалов
Дано натуральное число nn. Напишите программу, которая выводит значение суммы 1!+2!+3!+…+n!.
Формат входных данных
На вход программе подается одно натуральное число.
Формат выходных данных
Программа должна вывести значение суммы 1!+2!+3!+…+n!.
Примечание 1. Факториалом натурального числа nn, называется произведение всех натуральных чисел от 1 до n, то есть n!=1⋅2⋅3⋅…⋅n
Примечание 2. Задачу можно решить без вложенного цикла. Напишите две версии программы =)

num = int(input()) # кол-во факториалов total = 0 # сумма факториалов factorial = 1 # вычисляемый факториал for i in range(1, num+1): # перебираем факториалы for j in range(1, i+1): # вычисляем каждый факториал factorial *= j # вычисляем факториал total += factorial # Суммируем факториалы чисел. factorial = 1 # "обнуляем факториал" print(total)

Простые числа
На вход программе подается два натуральных числа a и b (a < b). Напишите программу, которая находит все простые числа от a до b включительно.
Формат входных данных
На вход программе подаются два числа, каждое на отдельной строке.
Формат выходных данных
Программа должна вывести все простые числа от aa до b включительно, каждое на отдельной строке.
Примечание. Число 1 простым не является.

a, b, = int(input()), int(input()) for i in range(a, b + 1): if i == 1: # 1 не является простым числом continue # пропускаем цикл for j in range(2, i): # перебираем делители от 2 до i if i % j == 0: # если делится без остатка, то оно не простое break # завершаем вложенный цикл else: print(i)

Ответы на модуль 7.9 выставлены для самопроверки на питоне. Найти оригинальный курс «Поколение python» можно на платформе stepik.org.

Источник

Сумма факториалов

С клавиатуры вводятся числа a и b, b > a. Найдите сумму факториалов чисел из диапазона [a; b]. Для вычисления факториала реализуйте функцию factorial(n).

def factorial(n): c = 2 sum = 0 if int(n[0])  int(n[1]): for i in range(n[0],n[1]+1): c = i * c sum += c return sum n = [int(input()) for i in range(2)] print(factorial(n))

Сумма факториалов
По данному натуральном n вычислите сумму 1!+2!+3!+. +n!. В решении этой задачи можно использовать.

Сумма факториалов
По данному натуральном n вычислите сумму 1!+2!+3!+. +n!. В решении этой задачи можно использовать.

Цикл for. Сумма факториалов
Дано натуральное число n. Необходимо найти сумму 1! + 3! + 5! + . + n!. Если n — чётное число, то.

Вычисление суммы факториалов
помогите с задачей вычислит сумму факториалов

Вирусоборец

Лучший ответ

Сообщение было отмечено Ilgiz174 как решение

Решение

1 2 3 4 5 6 7 8 9 10 11 12 13
def factorial(n): f = 1 for i in range(2, n+1): f = f*i return f a, b = map(int, input().split()) x = factorial(a) s = x for k in range(a+1, b+1): x *= k s += x print(s)

Эксперт функциональных языков программированияЭксперт Python

За такие задачи «преподов» нужно наказывать. Крайне нерационально вычислять факториал отдельной функцией! Факториал нужно получать в цикле и сразу суммировать! Но если кто-то малохольный так требует, пожалуйста:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
a=int(input("a=")) b=int(input("b=")) def fact(n,r=1): return n*r if a>1: r=1 for i in range(2,a): r=fact(i,r) s=r else: r=1 s=0 for i in range(a,b+1): r=fact(i,r) s+=r print(s)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
a=int(input("a=")) b=int(input("b=")) def fact(n): r,i=n,n while True: r=r*i yield r i+=1 ite=fact(1) s=0 for i in range(a,b+1): s+=next(ite) print(s)

Найти произведение факториалов чисел от 3 до 6
Найти произведение факториалов чисел от 3 до 6. Функция вычисляет факториал числа.

Список факториалов и натуральных чисел
Как определить функцию, принимающую на вход целое число n и возвращающую список, содержащий n.

Дано натуральное число N. Найти сумму факториалов
Дано натуральное число N. Найти сумму факториалов 1!+2!+…+N!. Помогите решить на питоне, заранее.

По заданному на входе числу 0≤n≤2000 выведите последовательность факториалов
По заданному на входе числу 0≤n≤2000 выведите последовательность факториалов Дается число n, найти.

Найти сумму факториалов чисел от 1 до n. Функция вычисляет факториал числа
Помогите.

Найти 4-х значные числа, равные сумме факториалов своих цифр
Пожалуйста переведите эту программу из Pascal в Python. Заранее спасибо) uses crt; function.

Написать программу для вычисления суммы факториалов всех нечетных чисел от 1 до 9
Написать программу для вычисления суммы факториалов всех нечетных чисел от 1 до 9, используя.

Источник

Сумма факториалов

По данному натуральном n вычислите сумму 1!+2!+3!+. +n!. В решении этой задачи можно использовать только один цикл.

Вводится натуральное число n.

Входные данные
3
Выходные данные
9

Добавлено через 6 минут
Почему-то мой код не проходит полное решение,не понимаю почему?

n=int(input()) f=1 s=0 for i in range(1,n+1): s=s+f*i f=i print(s)

Сумма факториалов
По данному натуральном n вычислите сумму 1!+2!+3!+. +n!. В решении этой задачи можно использовать.

Сумма факториалов
не могу решить задачу, помогите пожалуйста! обязательно надо использовать функцию "def.

Цикл for. Сумма факториалов
Дано натуральное число n. Необходимо найти сумму 1! + 3! + 5! + . + n!. Если n — чётное число, то.

Вычисление суммы факториалов
помогите с задачей вычислит сумму факториалов

ЦитатаСообщение от XorG Посмотреть сообщение

from math import factorial sum([factorial(x) for x in range(1, int(input('n = ')) + 1)])
from math import factorial from functools import reduce reduce(lambda s, x: s + factorial(x), range(1, int(input('n = ')) + 1))
s = 0 for x in range(1, int(input('n = ')) + 1): s += factorial(x)
def factorial(n): return reduce(lambda p, x: p * x, range(1, n + 1)) factorial = lambda n: reduce(lambda p, x: p * x, range(1, n + 1)) # функциональная запись

Спасибо за ответ,но решение должно быть без import math и без функций,используется только цикл
А что здесь неправильного в том,что я к f присваиваю i,если всё равно я потом умножаю f на i и прибавляю к s,получается тоже самое,если несложно приведите пожалуйста полный код

ЦитатаСообщение от amator_C Посмотреть сообщение

n = int(input()) f = 1 s = 1 for i in range(2, n + 1): s += f * i f *=i print(s)

ЦитатаСообщение от XorG Посмотреть сообщение

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

Эксперт функциональных языков программированияЭксперт Python

n=int(input()) f=1 s=0 for i in range(1,n+1): f=f*i s=s+f print(s)
1 2 3 4 5 6 7 8 9 10 11 12 13 14
In [1]: n = int(input()) 3 In [2]: x = 1 In [3]: s = 0 In [4]: for i in range(1, n + 1): . x *= i . s += x . In [5]: print(s) 9

Эксперт функциональных языков программированияЭксперт Python

А можно и совсем без циклов:

def task(n,s=0,f=1,k=2): if n==0: return s else: return task(n-1,s+f,f*k,k+1) print(task(6))

ЦитатаСообщение от Catstail Посмотреть сообщение

Эксперт функциональных языков программированияЭксперт Python

ЦитатаСообщение от SW Developer Посмотреть сообщение

— да почему же? Гораздо проще (особенно в Питоне) — прямым вычислением:

f=1 for i in range(2,n+1): f*=i print(f)

ЦитатаСообщение от gray621 Посмотреть сообщение

Найти произведение факториалов чисел от 3 до 6
Найти произведение факториалов чисел от 3 до 6. Функция вычисляет факториал числа.

Список факториалов и натуральных чисел
Как определить функцию, принимающую на вход целое число n и возвращающую список, содержащий n.

Дано натуральное число N. Найти сумму факториалов
Дано натуральное число N. Найти сумму факториалов 1!+2!+…+N!. Помогите решить на питоне, заранее.

По заданному на входе числу 0≤n≤2000 выведите последовательность факториалов
По заданному на входе числу 0≤n≤2000 выведите последовательность факториалов Дается число n, найти.

Найти сумму факториалов чисел от 1 до n. Функция вычисляет факториал числа
Помогите.

Найти 4-х значные числа, равные сумме факториалов своих цифр
Пожалуйста переведите эту программу из Pascal в Python. Заранее спасибо) uses crt; function.

Источник

Читайте также:  Java если не закрыть файл
Оцените статью