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 |
'C' 카테고리의 다른 글
[C 언어] 제곱근을 활용한 소수 판별 (while, if) (정보처리기사 외) (0) | 2019.06.18 |
---|---|
[c 언어] 재귀함수를 활용한 피보나치 수열(1+1+2+3+5+8+13+…)의 합계(while, for, if) (0) | 2019.06.18 |
[C] 1+2+4+7+11+16+22+…로 증가하는 수열 (do~while) (정보처리기사 외) (0) | 2019.06.18 |
[C] -(1/2)+(2/3)-(3/4)+(4/5)-(5/6)…-(99/100)의 합계 (do~while, if) (정보처리기사 외) (0) | 2019.06.17 |
[C] 수열 합 1-2+3-4+.....+99-100 (정보처리기사 외) (0) | 2019.06.17 |