Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 잡다한 일
- 5073번
- 차이
- 해석
- 백준 2525번
- 백준 1157번
- 일상생활 영어표현
- C++
- C
- html
- 백준 2587번
- 백준 25305번
- 연속된 숫자의 합
- 백준 5597번
- 백준 5086번
- 백준 1269번
- Java
- 백준 9506번
- 대칭 차집합
- 백준 2501번
- 배열
- Unity
- 알고리즘
- 직각 삼각형
- 백준 #11382번 #
- 백준 27433번
- 피라미드 출력
- 논리 연산
- 상세 풀이
- javascript
Archives
- Today
- Total
YunDev
백준 27433번[C] - 상세 풀이 본문
#include <stdio.h>
int main() {
int num = 0;
long long sum = 1;
scanf("%d", &num);
for(int i = num; i > 0; i--) {
sum*=i;
}
printf("%lld", sum);
return 0;
}
풀이 : 먼저 팩토리얼이란 n이 자연수일 때, 1 부터 n 까지의 모든 자연수의 곱을 의미합니다. (n팩토리얼 = n!으로 표시)
문제를 풀기 위해선 값을 입력받고 입력받은 값을 1까지 반복문을 돌며 -1을 해가며 곱하면 구할 수 있습니다.
그런데 여기서 주의할 점은 0!은 0이 아닌 1이기 때문에 sum을 1로 초기화했습니다.
또한 문제에서 제시된 값을 보면 20!까지도 구할 수 있어야 하기 때문에 -21~21억정도의 범위를 가진 int가 아닌
long long으로 선언해야합니다.
'Programming > Baekjoon Program' 카테고리의 다른 글
백준 5597번[C] - 풀이 (0) | 2024.01.13 |
---|---|
백준 10807번[C] - 상세 풀이 (0) | 2024.01.12 |
백준 2480번[C] - 상세 풀이 (2) | 2024.01.10 |
백준 2525번[C] - 상세 풀이 (0) | 2024.01.09 |
[C]백준 1157번 - 풀이 (1) | 2024.01.08 |