Дано натуральное число N. Надо вывести 1!+2+3!...+n!. Надо через while, но не получается, делал только через for

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

__


Ответы (1 шт):

Автор решения: MBo

while заменяет простой for очень легко, нужно только явно переменную цикла менять. Но у вас код негодный, цикл должен идти до n. А факториал каждый раз сначала считать не нужно, только домножать на очередное число

n = int(input())
f = 1 
s = 0 
i = 1
while i <= n:
   f *= i
   s += f     
   i += 1 
print(s)
→ Ссылка