C语言--递归和非递归求n的阶乘

非递归和递归求n的阶乘

#include
//非递归求n的阶乘
int factorial(int n) {
int f = 1;
 for (int i = 1; i < n + 1; i++) {
  f = f * i;
 }
 return f;
}
//递归求n的阶乘
int Factorial(int n) {
 if (n == 1) { 
  return 1;
 }
 return n * Factorial(n-1);
}
int main() {
 int a = 0;
 scanf("%d", &a);
 int m = factorial(a);
 int n = Factorial(a);
 printf("%d\n%d", m,n);
 return 0;
}

你可能感兴趣的:(C语言)