n的阶乘的两种方式

2023-11-17

n的阶乘的两种方式,递归与非递归

n!=1×2×3×...n

在n的阶乘中加入运行的时间,可以判断递归与非递归的运行效率。

#include<stdio.h>
#include<stdlib.h>
#include<time.h>
void menu()
    {
       printf("********1.非递归   2.递归*********\n");
    }
//非递归函数 
long long jc1(long long int n)
{
    int i;
    int s=1;
    for(i=1;i<=n;i++)
    {
        s=s*i;
    }    
    return s;
}
//递归函数 
long long jc2(long long int n)
{
    int i,s;
    if(n==1) return 1;
    else if(n==0) return 1;
    else
    s=jc2(n-1)*n;
    return s;
}
int main()
{
    menu();
    int begintime,endtime;
    long long int n,i,s,x;
    int choice;
    printf("请输入菜单序号:\n");
    scanf("%d",&choice);
    printf("请输入阶乘数:\n");
    scanf("%d",&n);
    switch(choice)
      {
      case 1:jc1(n);break;
      case 2:jc2(n);break;
      }
    begintime=clock();//开始时间
    x=jc1(n);
    x=jc2(n);
    printf("%d",x);
    endtime = clock();//截止时间
    printf("\n\nRunning Time: %dms\n",endtime-begintime);
    return 0;
 } 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

n的阶乘的两种方式 的相关文章

随机推荐

  • 使用 ENVI 绘制常用传感器的光谱响应函数

    1 什么是光谱响应函数 首先 它是一个函数 就有定义域 值域 等等函数该有的东西 说白了就是画一个函数的图像 所谓的光谱响应函数通俗来讲 指的是遥感器在每个波长处 接收的辐亮度与入射的辐亮度的比值 简单理解成一个普通接收器在接收信号的时候
  • 全国计算机四级之网络工程师知识点(一)

    SSTF 最短寻道时间优先 优先为距离磁头当前所在位置最近磁道的访问请求服务 例 当前55道 每移动一个花1ms 100 185 39 124 16 126 67 69 顺序 55 67 69 39 16 100 124 126 185 1
  • Navicat for MySQL客户端启动报missing required library libmysq_e.dll126 错误

    Navicat for MySQL客户端启动报missing required library libmysq e dll126 错误 是因为缺少libmysq e dll 文件所致 下载libmysq e dll 文件拷贝到到Navica
  • Swagger正确打开方式(一)Swagger2.X升级到Swagger3.X

    之前有用过swagger 但是总感觉不够灵活所以最终选择放弃了 虽然能帮忙省不少下写接口文档和维护接口文档的时间 但是一样的带来了很多的不便利性 比如我的一个接口 不同场景请求参数不一样 通过swagger自动生成的文档很难方便的帮我区分出
  • linux服务器docker安装postgis

    导入镜像 docker load i postgis 启动镜像 docker run log opt max size 100m log opt max file 3 name postgis e POSTGRES PASSWORD xxx
  • 常见端口入侵

    20 FTP服务的数据传输端口 21 FTP服务的连接端口 可能存在 匿名登陆 弱口令暴力破解 匿名登陆 1 用nc链接21号端口 2 直接使用USER anonymous PASS xxxx 22 SSH服务端口 可能存在 弱口令暴力破解
  • 【基础教程】Appium自动化测试,太详细了!

    Appium简介 Appium是一款开源的Appium自动化工具 基于Webdriver协议 主要有以下3个特点 全能 支持iOS Andorid H5 混合App WinApp 通用 支持Win Linux Mac 支持Java Pyth
  • Java设计模式—装饰模式

    装饰模式是一种比较常见的模式 定义为 动态的给一个对象添加一些额外的职责 就增加功能来说 装饰模式比生成子类更加灵活 装饰模式的通用类图如下 装饰模式的构成 1 抽象构件 Component 是一个接口或者是抽象类 就是定义我们最核心的对象
  • CDZSC_2022寒假个人训练赛21级(2)

    A 题解 输出n 1 2 3 4 即可 include
  • 记一次关于宝塔面板无法登陆的运维事故

    事故的出现 2023年4月22日 晚 我修改好客户的前端资源 打开宝塔面板准备上传 输入用户名和密码 点击登录 浏览器没有反应 而且上面的宝塔logo没有出现 我怀疑服务器遭到了攻击和篡改 但打开客户的网站 一切正常 问题排查 由于我前一天
  • 列导航

  • fastjson 转下划线_fastjson 变量驼峰形式与下划线互转

    FastJson 支持配置的PropertyNamingStrategy四种策略 属性名策略说明 CamelCase策略 Java对象属性 personId 序列化后属性 persionId PascalCase策略 Java对象属性 pe
  • apache impala 启动提示 java/lang/NoClassDefFoundError: java/lang/Object

    测试基于apache impala 4 1 0 版本 如果出现该错误 Error occurred during initialization of VM java lang NoClassDefFoundError java lang O
  • python将三张图片横向拼接为一张图片

    import numpy as np from PIL import Image 此处为路径 将三张图像的路径对应自己的改一下 paths 1 1 1 png 2 2 1 png 3 3 1 png img array img for i
  • HashMap在Java里是怎么工作的

    本文翻译自 Coding Geek 原文地址 绝大多数Java开发者都在使用Map类 尤其是HashMap HashMap是一种简单易用且强大的存取数据的方法 但是 有多少人知道HashMap内部是如何工作的 几天前 为了对这个基本的数据结
  • Kubernetes 功能简述

    1 功能 1 1 主要功能 Kubernetes 是一个开源的容器编排平台 它提供了一系列功能来管理和部署容器化应用程序 以下是 Kubernetes 的一些主要功能 容器编排 Kubernetes 可以自动管理容器的部署 扩展和收缩 以满
  • 私有云不是真正的云计算!

    大数据产业创新服务媒体 聚焦数据 改变商业 中国云计算遇到困境 IaaS层面 阿里云 腾讯云等增长乏力 SaaS没有发展起来 反观美国 整个云计算蓬勃发展 AWS 微软云 谷歌云体量更大 增速却不低 SaaS已经高度发达 有不少市值几百亿美
  • 外包三年半,人废了一半

    如果不是女朋友和我提分手 我估计现在还没醒悟 大专生 18年通过校招进入湖南某软件公司 干了3年多的CRUD 今年年初 感觉自己不能够在这样下去了 长时间呆在一个舒适的环境会让一个人堕落 而我已经在一个企业干了3年的CRUD 已经让我变得不
  • C/C++ 课题解答(1)

    随机产生100个字符 a z 数组arrayOfChar 输入字符c 计算字符c在数组中出现的次数和位置 include
  • n的阶乘的两种方式

    n的阶乘的两种方式 递归与非递归 n 1 2 3 n 在n的阶乘中加入运行的时间 可以判断递归与非递归的运行效率 include