4.8. For: Sum of factorials 풀이

두비니

·

2020. 3. 18. 20:13

 

모든 팩토리얼의 합을 구하라고 하네요.

 

N = int(input())

fac =1
sum =0
for i in range(1, N+1):
  fac *= i
  sum += fac
  
print(sum)

 

코드 설명을 살짝 하겠습니다. N=4라고 가정하고, 우선 1부터 N까지 곱한다고하면, fac은 각각

 

1!, 2!, 3!, 4!이 될것입니다.

만약에 팩토리얼만 물어봤다면 for문 후에 fac만 출력시키면 되겠지만, 

이 문제의 경우는 모든 팩토리얼을 더하라고 했기때문에 과정에 있는 값들도 모두 더해주면 되겠죠.

 

뭐 당연히 for문 두개로도 충분히 해결되는 사항이지만, 문제에서 for문을 하나만 써서 풀어보라고 했기때문에, 다음과 같이 코드를 짰네요.