PersesTitan(페르) 기술블로그

[C] 팩토리얼 함수 만들기 본문

Language/C

[C] 팩토리얼 함수 만들기

PersesTitan(페르) 2023. 10. 23. 00:33

해당 글에서는 제귀함수와 반복문을 사용하는 방법 2가지 다 서술하였는데 재귀함수과 반복문 뭘쓰는지에 대한 의견이 많은 것 같은데 개인적으로 저는 반복문을 선호하는 편입니다. 반복문을 사용하는 것이 코드가 잘 보이기 때문에 반복문을 많이 사용하는 본인이 편한걸 사용하는게 베스트 인 듯 싶습니다.

제귀함수 이용

n이 1이하가 될때까지 재귀함수를 이용하여 팩토리얼을 구현하는 방법입니다.

int fact1(int n) {
    if (n <= 1) return 1;
    else return n * fact1(n - 1);
}

 

반복문 이용

for문

for문을 이용하여 1부터 n까지 곱한 값을 반환하여 구하는 방법입니다.

int fact2(int n) {
    int sum = 1;
    for (int i = 1; i <= n; ++i) sum *= i;
    return sum;
}

while문

for문과 같이 반복문을 사용한 방법인데 n부터 1씩 값을 내리면서 값을 곱하여 계산하는 방법입니다.

int fact3(int n) {
    int sum = 1;
    while (n > 1) sum *= (n--);
    return sum;
}