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;
}
目录
打赏
0
0
0
0
0
分享
相关文章
C语言求阶乘
C语言求阶乘
171 0
c语言编程练习题:7-41 计算阶乘和
c语言编程练习题:7-41 计算阶乘和
181 0
C语言之使用递归的方法求n的阶乘
C语言之使用递归的方法求n的阶乘
308 0
C语言---循环迭代---n的阶乘
C语言---循环迭代---n的阶乘
75 0
C语言---递归--求n的阶乘
C语言---递归--求n的阶乘
114 0
3分钟搞定阶乘!C语言编程新手也能轻松学会的秘籍
3分钟搞定阶乘!C语言编程新手也能轻松学会的秘籍
c语言编程练习题:7-54 求阶乘序列前N项和
c语言编程练习题:7-54 求阶乘序列前N项和
96 0
20004.C语言编程基础(0001)- 递归法求阶乘
20004.C语言编程基础(0001)- 递归法求阶乘
106 0
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等

登录插画

登录以查看您的控制台资源

管理云资源
状态一览
快捷访问