C言語で階乗を実装する方法はいくつありますか?
C言語では、階乗を実装するには、再帰と反復の2つの方法を使用できます。
- 再帰的方法:
int factorial(int n) {
if (n == 0) {
return 1;
} else {
return n * factorial(n-1);
}
}
- 反復方法:
int factorial(int n) {
int result = 1;
for (int i = 1; i <= n; i++) {
result *= i;
}
return result;
}
与两者都可能计算给定数的阶乘,但递归方法相对简便,而迭代方法则更省空间。选择使用哪种方法取决于具体需求及应用场景。