#include <stdio.h>
int main() {
int n,result=1;
scanf("%d", &n);
for (int i = 1; i <= n; i++)
result *= i;
printf("%d", result);
return 0;
}
사용자로부터 정수 n을 입력받고, n!을 출력하는 문제이다. ( n >= 0 )
결과값을 저장할 변수인 result를 선언하고, 1로 초기화하였다.(1로 초기화한 이유는 뒤에서)
n을 입력받고, 1부터 n까지 반복하는 for문을 선언하고, result에 i를 계속 곱해주게 하였다.
n이 0이라면 애초에 for문을 돌지 않고 1로 초기화된 result를 출력하므로, 0!을 출력할 수 있다.
n이 1이라면 1 x 1인 셈이므로, 1!을 출력할 수 있다.
n이 0과 1이 아니라면, 팩토리얼은 1x . . . x n-1 x n이므로, 마찬가지로 n!을 출력할 수 있다.
'알고리즘 > 백준' 카테고리의 다른 글
[백준](중략)-21966 | C (0) | 2022.04.16 |
---|---|
[백준]햄버거 분배-19941 | C (0) | 2022.04.16 |
[백준]소가 길을 건너간 이유 1-14467 | C (0) | 2022.04.16 |
[백준]한수-1065 | C (0) | 2022.04.16 |