美文网首页
C语言-使用递归的方法求n!

C语言-使用递归的方法求n!

作者: 广陵周惊蛰 | 来源:发表于2020-01-10 20:30 被阅读0次

问题描述:使用递归的方法求n!

源代码:

/*使用递归的方法求n!*/
#include<stdio.h>
double fact (int n);
int main(void)
{
    int n;
    
    scanf("%d",&n);
    printf("%f",fact(n));
    return 0;
}

double fact(int n)
{
    double result;
    
    if(n==1||n==0)
        result = 1;
    else
        result=n*fact(n-1);
        
    return result;
}

运行结果:

使用递归的方法求n!

程序心得:

递归函数编程时,要抓住递归方法的两个方法:递归出口和递归调用式子。

fact()函数中,定义了保存运算结果的变量result,并赋值result=n*fact(n-1),然后通过return result返回n!的结果。

注意:这里不能写成fact(n)=n*fact(n-1)

程序参数:

  • 输出大小: 149.380859375 KiB
  • 编译时间: 0.30s

相关文章

  • C语言-使用递归的方法求n!

    问题描述:使用递归的方法求n! 源代码: 运行结果: 程序心得: 递归函数编程时,要抓住递归方法的两个方法:递归出...

  • C语言基础教程之递归

    一文读懂C语言递归算法,C语言基础教程之递归 C语言递归 递归指的是在函数的定义中使用函数自身的方法。 从前有座山...

  • JAVA 递归问题,kotlin 尾递归优化

    递归(Recursive)是指自己方法内部调用自己 如求 1- n(n>1)之间的和: 这是使用递归的方式求和,很...

  • 递归

    在iOS开发中,方法内部不能调用自身方法,但是OC开发是兼容C语言的,因此,我们可以使用C来实现递归的方法: 调用输出

  • 算法(1)斐波那契数列

    1.0 问题描述 实现斐波那契数列,求第N项的值 2.0 问题分析 斐波那契数列最简单的方法是使用递归,递归和查表...

  • 每周一道算法题(三十九)

    本周题目难度级别"Medium",使用语言C 题目:本周题目又是造轮子,求x的n次方,即pow(x,n). 思路:...

  • 递归与非递归求阶乘

    递归求5!: 当n>1时,a=n(n-1)n(-2)2 当n=1时,结果为a1。 非递归求5!

  • 【题目2】已知递归函数求ack(3,3)的值

    问题描述 评测题目: 给出如下的递归函数,求ack(3,3)的值。 编程方法 根据题目中的c语言程序改写成pyth...

  • python二级题库21--递归求阶乘

    一、题目 利用递归方法求5!。 二、分析 找规律 f(n) = n * f(n-1) 三、方案 输出结果: 四、交...

  • 斐波那契数列

    a1 = 0; a2 = 1; an = a(n-2)+a(n-1); 使用递归求斐波那契数列前n项 代码: 运行结果:

网友评论

      本文标题:C语言-使用递归的方法求n!

      本文链接:https://www.haomeiwen.com/subject/gzumactx.html