Dev/백준문제풀이

[백준] 10872_팩토리얼

bebeghi3356 2025. 3. 6. 16:05

#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