C
[C] 1!+2!+3!+4!+5!+…+10!의 합계 (do~while)
데브웅
2019. 6. 18. 00:44
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
|
#include <stdio.h>
unsigned long long factorial(unsigned int n) // 재귀함수로 factorial을 만들어 준다
// unsigned long long을 선언해서 factorial의 큰 수 반환에 대비한다.
// 음수 factorial은 고려하지 않을 것이므로 자료형을 unsigned 로 준다.
{
if (n == 1)
return 1;
else
return n * factorial(n-1);
}
int main()
{
unsigned long long sum = 0;
unsigned int i = 1;
unsigned int n;
scanf("%d", &n);
do
{
sum += factorial(i);
i++;
} while(i <= n);
printf("%lld\n", sum);
return 0;
}
|
cs |