C语言第二十九弹---求n的阶乘

简介: C语言第二十九弹---求n的阶乘

C语言求n的阶乘

递归法

思路:因为n的阶乘是 nn-1…321,所以设定初始条件为1 ,递归使用n*函数(n-1)这样就可以不断接近初始条件。

代码如下

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int FindFact(int n)
{
  if (n == 1)
  {
    return 1;
  }
  else
  {
    return n * FindFact(n - 1);
  }
}
int main()
{
  int n = 0;
  scanf("%d",&n);
  int ret = FindFact(n);
  printf("%d",ret);
  return 0;
}

非递归法

思路:通过循环1-n使用一个临时变量与1-n都乘一遍即可。

int FindFact(int n)
{
  int tmp = 1;//tmp要为1
  for (int i = 1; i <= n; i++)
  {
    tmp *= i;
  }
  return tmp;
}
int main()
{
  int n = 0;
  scanf("%d",&n);
  int ret = FindFact(n);
  printf("%d",ret);
  return 0;
}
相关文章
|
6月前
|
存储 C语言
C语言求阶乘
C语言求阶乘
98 0
|
6月前
|
C语言
c语言编程练习题:7-41 计算阶乘和
c语言编程练习题:7-41 计算阶乘和
145 0
|
C语言
C语言之使用递归的方法求n的阶乘
C语言之使用递归的方法求n的阶乘
214 0
|
5月前
|
C语言
C语言---循环迭代---n的阶乘
C语言---循环迭代---n的阶乘
|
5月前
|
C语言
C语言---递归--求n的阶乘
C语言---递归--求n的阶乘
|
5月前
|
存储 C语言
C语言实现阶乘
C语言实现阶乘
124 0
|
6月前
|
存储 C语言
3分钟搞定阶乘!C语言编程新手也能轻松学会的秘籍
3分钟搞定阶乘!C语言编程新手也能轻松学会的秘籍
|
6月前
|
C语言
c语言编程练习题:7-54 求阶乘序列前N项和
c语言编程练习题:7-54 求阶乘序列前N项和
66 0
|
6月前
|
机器学习/深度学习
20004.C语言编程基础(0001)- 递归法求阶乘
20004.C语言编程基础(0001)- 递归法求阶乘
71 0
|
机器学习/深度学习 C语言
C 语言实例 - 阶乘
C 语言实例 - 阶乘。
64 0