利用递归方法求5!

简介: 利用递归方法求5!.

利用递归方法求5!。

程序分析:递归公式:fn=fn_1*4!

include

int main()
{
int i;
int fact(int);
for(i=0;i<6;i++){
printf("%d!=%d\n",i,fact(i));
}
}
int fact(int j)
{
int sum;
if(j==0){
sum=1;
} else {
sum=j*fact(j-1);
}
return sum;
}
以上实例输出结果为:

0!=1
1!=1
2!=2
3!=6
4!=24
5!=120

目录
相关文章
|
算法 C++
C++快速幂(递归)
C++快速幂(递归)
|
3月前
|
算法 C语言 Python
利用递归方法求5!
利用递归方法求5!
53 4
|
7月前
|
机器学习/深度学习
利用函数递归求汉诺塔问题
利用函数递归求汉诺塔问题
63 0
顺序表应用7:最大子段和之分治递归法
顺序表应用7:最大子段和之分治递归法
递归和非递归分别实现求第n个斐波那契数
递归和非递归分别实现求第n个斐波那契数
73 0
|
机器学习/深度学习 算法
使用递归方法和for循环方法求阶乘
使用递归方法和for循环方法求阶乘
150 0
|
机器学习/深度学习
求n的阶乘(递归法和循环法
根据阶乘的计算方法:n!= 1 * 2 * 3*…*n,我们在一个for循环完成 n 次乘法运算。注意因为是连乘,最终阶乘结果可能会非常大所以我们在Fac函数中用 long long 类型的变量来记录阶乘的结果。
汉诺塔(递归+ 非递归版)
汉诺塔问题(又称为河内塔问题),是一个大家熟知的问题。在A,B,C三根柱子上, 有n个不同大小的圆盘(假设半径分别为1-n吧),一开始他们都叠在我A上(如图所示),你的目标是在最少的合法移动步数内将所有盘子从A塔移动到C塔。 游戏中的每一步规则如下:
253 1
汉诺塔(递归+ 非递归版)
汉诺塔问题, 用递归方法求集合中的中位数
汉诺塔问题, 用递归方法求集合中的中位数
|
机器学习/深度学习 人工智能 算法
『递归』汉诺塔和全排列
使用递归编写一个程序实现汉诺塔问题,要求在输入圆盘数量之后,输出圆盘的移动步骤,输出格式示例如下: 第1步:1号盘从A柱移至B柱第2步:2号盘从A柱移至C柱
226 0

热门文章

最新文章