《C++大学教程》4.34阶乘

题目:

对一个非负整数n来说,它的阶乘可以写成 n! (读作“n的阶乘”),其计算公式定义如下:

 n! = n x (n-1) x (n-2)x......x1(对于大于1的 n )

 n! = 1 ( 对于等于0或者等于1的n )

例如,5!=5 x 4 x 3 x 2 x 1,结果是120.下面用while语句完成:

a)编写一个程序,要求读入一个非负整数,然后计算和打印它的阶乘;

b)编写一个程序,使用如下公式:

e=1+1/1!​+1/2!​+……+1/(n−1)!​

c)编写一个程序,使用如下的公式估算e^x的值:

e=1+x/1!​+(x^2)/(2!)​+……+( x^(n-1) )/( (n−1)! )

程序如下:

a)编写一个程序,要求读入一个非负整数,然后计算和打印它的阶乘;

//4.34a.cpp#include <iostream>
using namespace std;int main()
{unsigned int num;cout << "请输入一个非负整数:";cin >> num;double jiecheng = 1; // 存放阶乘的变量if (num == 0 || num == 1){jiecheng = 1;}else{while (num != 0){jiecheng *= num;num--;}}cout << " 它的阶乘是 " << jiecheng << endl;return 0;
}

运行截图:

b)编写一个程序,使用如下公式:

e=1+1/1!​+1/2!​+……+1/(n−1)!​

//4.34b.cpp#include <iostream>
#include <iomanip>
using namespace std;int main()
{int i = 0, sumNumber, num;double e = 1;cout << "e得精度是:";cin >> sumNumber; // 累加求和的项数,也是精度if (sumNumber > 1) // 控制当精度为1时,e=1{i = 1;}while (i < sumNumber){num = i;             // 用于计算阶乘的数double jiecheng = 1; // 存放阶乘的变量if (i == 0){jiecheng = 1; // 此时e=1break;}else{while (num != 0){jiecheng *= num;num--;}}e += (1 / jiecheng);cout << setprecision(6) << fixed;i++; // 控制循环}cout << " e = " << e << endl;return 0;
}

运行截图:(精度为1和2为特殊情况)
注意:标准e=2.718281828459045

c)编写一个程序,使用如下的公式估算e^x的值:

e^x=1+x/1!​+(x^2)/(2!)​+……+( x^(n-1) )/( (n−1)! )

//4.34c.cpp#include <iostream>
#include <iomanip>
#include <cmath>
using namespace std;int main()
{int i = 0, sumNumber, num;double e = 1;int x; // x表示的e的幂数cout << "请输出e的幂数:";cin >> x;cout << "e^" << x << "次幂要求的精度是:";cin >> sumNumber; // 累加求和的项数,也是精度if (sumNumber > 1) // 控制当精度为1时,e=1{i = 1;}while (i < sumNumber){num = i;double jiecheng = 1; // 存放阶乘的变量if (i == 0){jiecheng = 1; // 此时e=1break;}else{while (num != 0){jiecheng *= num;num--;}}e += (pow(x, i) * (1 / jiecheng));cout << setprecision(6) << fixed;i++; // 控制循环}cout << "e = " << e << endl;return 0;
}

运行截图:(满足特殊情况,精度为1)

注意:百度e²≈7.3891

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/625144.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

重学Java 6 流程控制语句

我与我&#xff0c;至死不渝 ——24.1.15 模块重点&#xff1a; ①会使用Scanner和Random ②会使用switch以及知道case的穿透性 ③会使用if ④会使用for循环&#xff0c;while循环&#xff0c;嵌套循环 一、键盘录入_Scanner 1.概述&#xff1a;是Java定义好的一个类 2.作用&am…

网络安全等级保护测评规划与设计

笔者单位网络结构日益复杂&#xff0c;应用不断增多&#xff0c;使信息系统面临更多的风险。同时&#xff0c;网络攻防技术发展迅速&#xff0c;攻击的技术门槛随着自动化攻击工具的应用也在不断降低&#xff0c;勒索病毒等未知威胁也开始泛滥。基于此&#xff0c;笔者单位拟进…

一篇文章带你搞懂多线程面试相关的一些问题

目录 1.Callable接口 1.1使用Callable接口来创建线程 1.1相关面试题&#xff1a; 介绍下 Callable 是什么 2.JUC常见的类&#xff08;java.util,concurrent) 2.1ReentrantLock ReentrantLock和sychronized的区别 3.信号量 4.CountDownLatch 5.线程安全的集合类 5.1多线…

yolov7_Obb环境安装

下载obb代码之后&#xff0c;除了安装python和pytorch环境&#xff0c;由于还需要编译nms部分的c代码&#xff0c;因此还需要安装Visual Studio. 这里推荐安装Visual Studio2019版本。 然后在系统环境中配置环境变量 C:\Program Files (x86)\Microsoft Visual Studio\2019\Co…

案例127:基于微信小程序的预约挂号系统

文末获取源码 开发语言&#xff1a;Java 框架&#xff1a;SSM JDK版本&#xff1a;JDK1.8 数据库&#xff1a;mysql 5.7 开发软件&#xff1a;eclipse/myeclipse/idea Maven包&#xff1a;Maven3.5.4 小程序框架&#xff1a;uniapp 小程序开发软件&#xff1a;HBuilder X 小程序…

文件按名称分类,批量归类到指定文件夹

我们的生活中充满了各种各样的文件&#xff1a;工作报告、家庭照片、旅行纪念品等&#xff0c;然而文件管理却是一个让人头疼的问题。你是否也曾在寻找某些文件名的重要文件&#xff0c;却因为文件混乱无章的堆放而感到烦躁不安&#xff1f;现在&#xff0c;有了我们【文件批量…

HTML--JavaScript--引入方式

啊哈~~~基础三剑看到第三剑&#xff0c;JavaScript HTML用于控制网页结构 CSS用于控制网页的外观 JavaScript用于控制网页的行为 JavaScript引入方式 引入的三种方式&#xff1a; 外部JavaScript 内部JavaScript 元素事件JavaScript 引入外部JavaScript 一般情况下网页最好…

积极参与建设“一带一路”,川宁生物与微构工场达成战略合作

2024年1月12日&#xff0c;北京微构工场生物技术有限公司&#xff08;以下简称“微构工场”&#xff09;与伊犁川宁生物技术股份有限公司&#xff08;“川宁生物”&#xff09;宣布签订战略合作协议&#xff0c;双方将共同出资设立合资公司&#xff0c;加速生物制造产业化落地&…

Linux操作系统——文件详解

1.文件理解预备知识 首先&#xff0c;当我们在磁盘创建一个空文件时&#xff0c;这个文件会不会占据磁盘空间呢&#xff1f; 答案是当然会占据磁盘空间了&#xff0c;因为文件是空的&#xff0c;仅仅指的是它的内容是空的&#xff0c;但是该文件要有对应的文件名&#xff0c;…

Redis图形界面闪退/错误2系统找不到指定文件/windows无法启动Redis/不是内部或外部命令,也不是可运行的程序

Redis图形界面闪退/错误2系统找不到指定文件/windows无法启动Redis/不是内部或外部命令&#xff0c;也不是可运行的程序 我遇到了以上的问题。 其实&#xff0c;最重要的原因是我打开不了another redis desktop mannager&#xff0c;就是我安装了之后&#xff0c;无法打开它…

【嵌入式学习笔记-02】什么是库文件,静态库的制作和使用,动态库的制作和使用,动态库的动态加载

【嵌入式学习笔记-02】什么是库文件&#xff0c;静态库的制作和使用&#xff0c;动态库的制作和使用&#xff0c;动态库的动态加载 文章目录 什么是库文件&#xff1f;编程模型的发展什么是库文件&#xff1f; 静态库的制作和使用动态库的制作和使用动态库的动态加载 什么是库文…

Docker-01-安装基础命令

Docker-01-安装&基础命令 文章目录 Docker-01-安装&基础命令一、Docker是什么&#xff1f;二、安装Docker①&#xff1a;卸载旧版②&#xff1a;配置Docker的yum库③&#xff1a;安装Docker④&#xff1a;启动和校验⑤&#xff1a;配置镜像加速01&#xff1a;注册阿里云…

SpringBoot知识02

1、快速生成mapper和service &#xff08;1&#xff09;&#xff08;自动生成简单的单表sql&#xff09; &#xff08;2&#xff09;快速生成多表&#xff08;自动生成常量&#xff09; 2、springboot配置swagger&#xff08;路径不用加/api&#xff09; &#xff08;1&#…

Mindspore 公开课 - GPT

GPT Task 在模型 finetune 中&#xff0c;需要根据不同的下游任务来处理输入&#xff0c;主要的下游任务可分为以下四类&#xff1a; 分类&#xff08;Classification&#xff09;&#xff1a;给定一个输入文本&#xff0c;将其分为若干类别中的一类&#xff0c;如情感分类、…

报名活动怎么做_小程序创建线上报名活动最详细攻略

报名活动怎么做&#xff1a;一篇让你掌握活动策划与营销的秘籍 在当今社会&#xff0c;无论是线上还是线下&#xff0c;活动已经成为企业营销和品牌推广的重要手段。但是&#xff0c;如何策划一场成功的活动呢&#xff1f;这篇文章将为你揭示活动策划与营销的秘籍&#xff0c;…

政采网调试要求及常见问题解决方法

登录平台软件环境要求&#xff1a; 操作系统&#xff1a;建议Win10及以上&#xff08;Win10-64位专业版 版本号17134纯净安装版本&#xff09; 浏 览 器&#xff1a;IE11浏览器、谷歌120.0.6099.217&#xff08;64位正式版&#xff09;浏览器 必要软件&#xff1a;CA互联互通…

Mindspore 公开课 - BERT

BERT BERT模型本质上是结合了 ELMo 模型与 GPT 模型的优势。 相比于ELMo&#xff0c;BERT仅需改动最后的输出层&#xff0c;而非模型架构&#xff0c;便可以在下游任务中达到很好的效果&#xff1b;相比于GPT&#xff0c;BERT在处理词元表示时考虑到了双向上下文的信息&#…

微服务架构设计核心理论:掌握微服务设计精髓

文章目录 一、微服务与服务治理1、概述2、Two Pizza原则和微服务团队3、主链路规划4、服务治理和微服务生命周期5、微服务架构的网络层搭建6、微服务架构的部署结构7、面试题 二、配置中心1、为什么要配置中心2、配置中心高可用思考 三、服务监控1、业务埋点的技术选型2、用户行…

2023年总结:雄关漫道真如铁,而今迈步从头越,今朝得失

2023年悄然离去&#xff0c;感谢大家的帮助、鼓励和陪伴&#xff0c;感谢家人的理解和支持&#xff0c;祝大家新年快乐&#xff0c;阖家幸福&#xff0c;身体健康。像往常一样&#xff0c;今年也会写一篇年终总结&#xff0c;也是自己的第11篇年终总结&#xff0c;题目就叫《雄…

32 二叉树的定义

之前的通用树结构 采用双亲孩子表示法模型 孩子兄弟表示法模型 引出二叉树 二叉树的定义&#xff1a; 满二叉树和完全二叉树 对此图要有印象 满二叉树一定是完全二叉树&#xff0c;但是完全二叉树不一定是满二叉树 小结