촉촉한초코칩
[백준] 27433(팩토리얼 2) c언어 본문
문제
0보다 크거나 같은 정수 N이 주어진다. 이때, N!을 출력하는 프로그램을 작성하시오.
입력
첫째 줄에 정수 N(0 ≤ N ≤ 20)이 주어진다.
출력
첫째 줄에 N!을 출력한다.
#include <stdio.h>
long func(int n) {
long t = 1;
while(n > 0) {
t *= n;
n--;
func(n);
}
return t;
}
int main(void) {
int n;
scanf("%d", &n);
if(0 <= n && n <= 20) {
printf("%ld\n", func(n));
}
}
팩토리얼이 어렵다면 우선 for문으로 구현하고 바꾸는 걸 연습해보는 것도 나쁘지 않을지도..?
그냥 int형으로 하면 20을 계산할 때 int형 범위를 벗어나서 long 형으로 바꿔주었다.
'Algorithm' 카테고리의 다른 글
[백준] 1978(소수 찾기) c언어 (0) | 2024.05.05 |
---|---|
프로그래머스 (0) | 2024.02.22 |
[백준] 15439(베라의 패션) c언어 (0) | 2024.02.06 |
[백준] 2869(달팽이는 올라가고 싶다) c언어 (0) | 2024.02.02 |
[백준] 1316(그룹 단어 체커) c언어 (0) | 2024.01.27 |