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

开发者社区> 问答> 正文

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

2018-07-19 16:54:33 2447 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 35622浏览量 回答数 1

17

回答

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

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

38

回答

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

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

9

回答

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

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

37

回答

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

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

13

回答

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

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

8

回答

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

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

3

回答

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

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

26

回答

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

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

24

回答

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

小斯never 2015-03-22 18:22:43 33234浏览量 回答数 24
+关注
10077
文章
2994
问答
问答排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载