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;
}