c语言计算级数,C语言之数值计算--级数算法
在编程语言的学习中,我们学习过不少的算法,比如累加,累乘,数值交换,排序等等。在一些软件比赛和面试题中,有一类算法不容忽视,属于高频题目,我之前去企业面试的时候就遇到这样的一类题目,题目不算难,掌握方法,很快可以做出来。这类算法叫做----级数算法。
级数计算的关键是“描述出通项”,而通项的描述法有两种:一为直接法、二为间接法又称递推法。
直接法的要领是:利用项次直接写出通项式;递推法的要领是:利用前一个(或多个)通项写出后一个通项。
可以用直接法描述通项的级数计算例子有:
(1)1+2+3+4+5+……
(2)1+1/2+1/3+1/4+1/5+……等等。
可以用间接法描述通项的级数计算例子有:
(1)1+1/2+2/3+3/5+5/8+8/13+……
(2)1+1/2!+1/3!+1/4! +1/5!+……等等。
(1)直接法求通项
打个比方,我写段代码:
例1、求1+1/2+1/3+1/4+1/5+……+1/100的和。
#include
int main(void)
{
float s; int i;
s=0.0; //程序中是利用项次的倒数直接描述出每一项,并进行累加。注意:因为是整数,所以分子必须写成浮点数1.0的形式
for(i=1;i<=100;i++)
{
s=s+1.0/i ;
}
printf("1+1/2+1/3+...+1/100=%f\n",s);
return 0 ;
}运行结果:
例2:间接法求通项
这种方法也叫做递推法
例如:
计算下列式子前20项的和:1+1/2+2/3+3/5+5/8+8/13+……。
#include
int main(void)
{
float sum,fz,fm,t,fz1; int i;
sum=1; /*先将第一项的值赋给累加器s*/
fz=1;fm=2;
t=fz/fm; /*将待加的第二项存入t中*/
for(i=2;i<=20;i++)
{
sum=sum+t;
/*以下求下一项的分子分母*/
fz1=fz; /*将前项分子值保存到fz1中*/
fz=fm; /*后项分子等于前项分母*/
fm=fz1+fm; /*后项分母等于前项分子、分母之和*/
t=fz/fm;
}
printf("1+1/2+2/3+...=%f\n",sum);
}运行结果:
例三:计算级数
的值,当通项的绝对值小于eps时计算停止。
#include
#include
//求出最终的结果
float result(float x,float eps);
int main(void)
{
float x,eps;
scanf("%f%f",&x,&eps);
printf("\n%f,%f\n",x,result(x,eps));
return 0 ;
}
float result(float x,float eps)
{
int n=1;float s,t;
s=1; t=1;
do { //以下t为递推算法部分
t=t*x/(2*n);
s=s+(n*n+1)*t;
n++;
}while(fabs(t)>eps);
return s;
}运行结果:
本文同步分享在 博客“Engineer-Bruce_Yang”(CSDN)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。
c语言计算级数,C语言之数值计算--级数算法相关推荐
- java语言计算圆周率_Java语言简单计算圆周率完整示例
本文实例讲述了Java语言简单计算圆周率完整示例.分享给大家供大家参考,具体如下,希望对大家学习Java语言简单计算圆周率有所帮助. 这两天在网上看到一个题,已知Pi可以用函数4 * (1 – 1/3 ...
- 用python语言计算矩阵_Python语言实现矩阵计算
本文主要向大家介绍了Python语言实现矩阵计算,通过具体的内容向大家展示,希望对大家学习Python语言有所帮助. 矩阵其实就是二维数组 这里用Python模拟一下矩阵运算的加法和乘法(Python ...
- c语言计算个人所得税作业,写一个程序,输入任何一个公民的月收入和五险一金,能够计算他应缴纳的个人所得税.用C语言...
问题描述: 写一个程序,输入任何一个公民的月收入和五险一金,能够计算他应缴纳的个人所得税.用C语言 3.我国的个人所得税实行累进税率,计算办法是:用全月应纳税所得额分为几个级别,分别乘以累进税率,几个 ...
- c语言程序设计足球,使用C语言计算与模拟足球射门.doc
使用C语言计算与模拟足球射门[4] 1 引言 C语言是近年来在国内外得到迅速推广应用的一种计算机语言.C语言功能丰富.使用灵活方便.应用面广.目标程序效率高.可移植性好,既有高级语言的优点,又有低级语 ...
- c语言足球从100米下落,使用c语言计算与模拟足球射门.docx
使用C语言计算与模拟足球射门 [4] 1引言 c语言是近年来在国内外得到迅速推广应用的一种计算机语言.c语言功能丰富.使用 灵活方便.应用面广.目标程序效率高.可移植性好,既有高级语言的优点,又有低级 ...
- 汉诺塔怎么加计数次数c语言,C语言计算汉诺塔最小移动步数 (二)
前几天写的:C语言计算汉诺塔最小移动步数(一) 当时还不知道用2^n-1这个公式来求解汉诺塔移动步骤.=_= 偶然间在网上发现了这个公式,发现当时写的算法还是比较繁琐的.所以又根据这个公式又写了一个. ...
- R语言计算曼哈顿距离(Manhattan Distance)实战:计算两个向量的曼哈顿距离、dist函数计算矩阵中两两元素的曼哈顿距离
R语言计算曼哈顿距离(Manhattan Distance)实战:计算两个向量的曼哈顿距离.dist函数计算矩阵中两两元素的曼哈顿距离 目录 R语言计算曼哈顿距离(Manhattan Distance ...
- R语言计算杰卡德相似系数(Jaccard Similarity)实战:自定义函数计算Jaccard相似度、对字符串向量计算Jaccard相似度、将Jaccard相似度转化为Jaccard距离
R语言计算杰卡德相似系数(Jaccard Similarity)实战:自定义函数计算Jaccard相似度.对字符串向量计算Jaccard相似度.将Jaccard相似度转化为Jaccard距离 目录 R ...
- R语言计算平均值的标准误差(standard error of the mean):自定义函数计算平均值的标准误差、使用plotrix包的std.error函数计算平均值的标准误差
R语言计算平均值的标准误差(standard error of the mean):自定义函数计算平均值的标准误差.使用plotrix包的std.error函数计算平均值的标准误差 目录
- R语言计算回归模型每个样本(观察、observation、sample)的DFFITS度量实战:忽略单个观察(样本)时,回归模型所做的预测会发生多大的变化
R语言计算回归模型每个样本(观察.observation.sample)的DFFITS度量实战:忽略单个观察(样本)时,回归模型所做的预测会发生多大的变化 目录
最新文章
- linux snmp磁盘io,cacti利用snmpdiskio 监控服务器磁盘
- iso8601时间格式_ISO8601与dayjs的使用
- st 串口烧写工具 芯片_STM32芯片的几种烧写方式简介
- java学习与总结:多线程与并发
- .mb是什么文件_神经网络长什么样不知道? 这有一份简单的 pytorch可视化技巧(1)
- How to start MySQL on Linux
- python实现统计你一共写了多少行代码
- 【nodejs原理源码赏析(1)】Express中间件系统的基本实现
- 终于搞懂了网红主播的套路
- 《我的世界》AI大战降临:6000万帧超大数据集已发布,NeurIPS 19向你约战
- eltable 无数据文案修改_el-table的二次封装详细版(一)
- gazebo 直接获取传感器数据_如何以最简单的方式获取传感器数据?
- JAVA 实现《超级玛丽》游戏
- 【三星笔试】给定一些汽油E,给定一段距离D,完成D这段距离...
- 计算机一级win7win10,Win7/Win8.1升级Win10出现黑屏/蓝屏怎么办
- 网页特效--图片淡入淡出效果
- 我的第一个WFF项目
- 新中大服务器端数据库未能连接,新中大服务器数据库未能连接
- 清微智能CTO欧阳鹏:架构创新是通往高性能计算芯片必由之路|量子位·视点分享回顾...
- 顶级程序员常用的 14 个开源框架,YYDS!
热门文章
- tp5 JWT生成token验证接口安全、防止高频请求
- cubase外放有声音耳机没声音_为何CUBASE耳机内没有声音
- 《匆匆那年》的你,还记得吗?数学中的那些有(hui)趣(se)的定理(14)——毛球定理(Hairy ball theorem)
- Java之多线程Runnable(2)卖烤鸭-yellowcong
- Codeforces Round #703 (Div. 2)A. Shifting Stacks
- html5 url 传参数,[实时数据]仪表板URL直接添加参数条件传参
- Redis:配置文件
- 微信二次分享解决方案
- 基于jsp的KTV管理系统mysql
- 用JAVA写一个俄罗斯方块游戏tetrisGame