c语言算n的阶乘的递归算法-问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文

c语言算n的阶乘的递归算法

2018-07-19 16:54:33 2625 3
c语言算n的阶乘的递归算法
取消 提交回答
全部回答(3)
  • 晚来风急
    2019-07-17 22:54:25
    int fn(n)
    {
    int y;
    if(n<0){ printf("error");return -1;}
    if(n==0) return 1;
    else
    {
    y=fn(n-1)
    return n*y;
    }

    }
    0 0
  • 我是管理员
    2019-07-17 22:54:25
    #include<stdio.h>

    int fac(int n)
    {
    if(n < 0)
    {
    printf("error!\n");
    return -1;
    }
    else if(n == 0)
    return 1;
    else
    return fac(n- 1) * n;;
    }

    void main()
    {
    int n = 0;
    printf("请输入n:");
    scanf(%d",&n);
    printf("%d的阶乘是%d",n,fac(n));
    }

    随手写的,没有编译,可能有小错误
    0 0
  • 云篆
    2019-07-17 22:54:25

    思路:递归求阶乘函数,如果输入的参数等于1则返回1,否则返回n乘以该函数下次递归。

    参考代码: #include<stdio.h>
    int fun(int n)
    {
    if(n==1||n==0) return 1;//如果参数是0或者1返回1
    return n*fun(n-1);//否则返回n和下次递归的积
    }
    int main()
    {
    int n;
    scanf("%d",&n);
    printf("%d\n",fun(n));
    return 0;
    }
    /*
    5
    120
    */

    0 0
添加回答
相关问答

1

回答

如何构建机器学习算法?

问问小秘 2020-04-15 14:07:23 36247浏览量 回答数 1

17

回答

教你如何简单将OSS bucket挂载成为阿里云ECS服务器本地盘

梦丫头 2017-02-17 14:01:12 38353浏览量 回答数 17

37

回答

干货分享:DBA专家门诊一期:索引与sql优化问题汇总

xiaofanqie 2014-12-25 15:13:38 93006浏览量 回答数 37

9

回答

阿里云ECS安装虚拟主机系统DirectAdmin开心版百分百成功的方法

hxs 2014-05-26 20:05:30 34885浏览量 回答数 9

38

回答

阿里官方Java代码规范标准《阿里巴巴Java开发手册》下载

管理贝贝 2017-02-10 15:14:36 79492浏览量 回答数 38

13

回答

【阿里云产品公测】开放搜索服务之 智能聊天实现

啊里新人 2014-10-21 10:41:20 34121浏览量 回答数 13

8

回答

阿里云服务器内网传输使用指南

任逍遥 2013-03-22 00:05:42 31236浏览量 回答数 8

3

回答

2020年05月编程排行榜-C语言继2015年,重新成为编程排行榜第一名

huc_逆天 2020-05-06 13:43:42 36784浏览量 回答数 3

26

回答

云数据库OceanBase的架构演进【精品问答集锦】

管理贝贝 2016-09-02 16:57:42 45080浏览量 回答数 26

24

回答

比赛_快速入门_4_19_update_仅供参考,思维不要受局限

小斯never 2015-03-22 18:22:43 33564浏览量 回答数 24
+关注
10077
文章
2994
问答
问答排行榜
最热
最新
相关电子书
更多
JS零基础入门教程(上册)
立即下载
性能优化方法论
立即下载
手把手学习日志服务SLS,云启实验室实战指南
立即下载