#include <stdio.h>
int factorial(int n) {
if (n == 0) return 1; // 베이스 케이스: 0! = 1
return n * factorial(n - 1); // 재귀 호출
}
int main() {
int N;
scanf("%d", &N);
printf("%d\n", factorial(N));
return 0;
}
문제 풀이 방향
1) 반복문
2) 재귀함수
반복문
수정 1)
#include <stdio.h>
int main() {
int N;
scanf("%d", &N);
int facTo = 1;
for(int i = 1; i <= N; i++)
facTo *= 1;
printf("%d", &facTo);
}
입출력 둘다 오류
수정 2)
1. facTo *= i;
2. printf의 출력은 주소지&을 쓰는 것이 옳지않다
#include <stdio.h>
int main() {
int N;
scanf("%d", &N);
int facTo = 1;
for(int i = 1; i <= N; i++)
facTo *= i;
printf("%d", facTo);
}
재귀함수(ver. chat GPT)
김교수님 재귀함수 강의 들은 후 재귀함수로 풀어보자
#include <stdio.h>
int factorial(int n) {
if (n == 0) return 1; // 베이스 케이스: 0! = 1
return n * factorial(n - 1); // 재귀 호출
}
int main() {
int N;
scanf("%d", &N);
printf("%d\n", factorial(N));
return 0;
}
'Dev > 백준문제풀이' 카테고리의 다른 글
[백준] 10951_A+B-4 (0) | 2025.03.06 |
---|---|
[백준] 2741_N찍기 (0) | 2025.03.06 |