ImageVerifierCode 换一换
格式:PPTX , 页数:36 ,大小:122.53KB ,
资源ID:4610176      下载积分:12 金币
快捷注册下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.zixin.com.cn/docdown/4610176.html】到电脑端继续下载(重复下载【60天内】不扣币)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

开通VIP折扣优惠下载文档

            查看会员权益                  [ 下载后找不到文档?]

填表反馈(24小时):  下载求助     关注领币    退款申请

开具发票请登录PC端进行申请

   平台协调中心        【在线客服】        免费申请共赢上传

权利声明

1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。

注意事项

本文(C语言程序设计姜恒远著.pptx)为本站上传会员【w****g】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4009-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

C语言程序设计姜恒远著.pptx

1、1主要内容主要内容l5.1 素数判断素数判断l5.2 最大公约数求解最大公约数求解l5.3 穷举法求满足条件的一组解穷举法求满足条件的一组解l5.4 级数近似计算级数近似计算 l5.5 一元非线性方程求根一元非线性方程求根l*5.6 定积分近似计算定积分近似计算 25.1 素数判断素数判断 l素数素数 如果一个正整数如果一个正整数n只能被只能被1和和n自身整除,则称自身整除,则称n为素数(为素数(prime)。)。1不是素数,不是素数,2是素数。是素数。例如:例如:7是素数,是素数,8不是素数不是素数35.1 素数判断素数判断l5.1.1 最简单素数判断算法最简单素数判断算法l5.1.2 改进

2、后的素数判断算法改进后的素数判断算法45.1.1 最简单素数判断算法最简单素数判断算法 l算法描述算法描述 若若n2且且n不能被不能被2n-1范围内的任一个整数整范围内的任一个整数整除,除,n就是素数;否则就是素数;否则n不是素数;若发现不是素数;若发现n不不是素数,立即停止后续判断。是素数,立即停止后续判断。l程序实现程序实现 for(t=1,i=2;t&i2且且n不能被不能被2sqrt(n)之间的所有整数之间的所有整数整除,整除,n就是素数。就是素数。l程序实现程序实现 r=sqrt(n);for(t=1,i=2;t&i=r;i+)if(n%i=0)t=0;if(t)printf(“%d

3、is prime”,n);65.2 最大公约数求解最大公约数求解 l最大公约数最大公约数 能同时被能同时被x和和y整除的最大整数是整数整除的最大整数是整数x和和y的最的最大公约数(大公约数(GCD)。例如:例如:30和和45的公约数有的公约数有3、5、15,其中,其中15是是30和和45的最大公约数。的最大公约数。75.2 最大公约数求解最大公约数求解l5.2.1 brute-force算法算法l5.2.2 欧几里德算法欧几里德算法85.2.1 brute-force算法算法 l算法描述算法描述(1)设设x(或或y)是是x、y的最大公约数的最大公约数z;(2)判判断断x和和y是是否否均均能能被

4、被z整整除除。若若z不不能能同同时时整整除除x和和y则则z-1z,重重复复S2步步。否否则则,做做下下一一步步操作;操作;(3)输出(或返回)输出(或返回)z。95.2.1 brute-force算法算法#include int main(void)int x=30,y=45,z;z=x;while(!(x%z=0&y%z=0)z-;printf(“%d”,z);return 0;程序实现程序实现105.2.2 欧几里德算法欧几里德算法 l算法描述算法描述(1)判判断断x除除以以y的的余余数数r是是否否为为0。若若r为为0则则y是是x、y的的最最大大公公约约数数,继继续续做做下下步步操操作作;

5、否否则则yx,ry重复做第重复做第(1)步。步。(2)输出(或返回)输出(或返回)y 115.2.2 欧几里德算法欧几里德算法#include int main(void)long x=100000,y=100005,r;while(r=x%y)!=0)x=y;y=r;printf(“%ld”,y);return 0;程序实现程序实现125.3 穷举法求满足条件的一组解穷举法求满足条件的一组解 例例1:某人在纸上写了一个四位整数:某人在纸上写了一个四位整数3a45(a代表代表一个数字)。已知这个四位整数被一个数字)。已知这个四位整数被3除后的值除后的值是是1115,请问这个四位整数是什么?,请

6、问这个四位整数是什么?l算法描述算法描述 用用a的所有可能取值(的所有可能取值(0 9)分别形成)分别形成10个四位个四位整数整数3045、3145、3945 依次判断这依次判断这10个四位整数中的每一个被个四位整数中的每一个被3除后的除后的值是否值是否1115,若是则输出。,若是则输出。135.3 穷举法求满足条件的一组解穷举法求满足条件的一组解#include int main(void)int a,b;for(a=0;a=9;a+)b=3*1000+a*100+45;if(b/3=1115)printf(“%d”,b);程序实现程序实现145.3 穷举法求满足条件的一组解穷举法求满足条件

7、的一组解例例2 中国古代数学著作算经中提出一个问题:中国古代数学著作算经中提出一个问题:公鸡每只公鸡每只5钱,母鸡每只钱,母鸡每只3钱,小鸡钱,小鸡1钱钱3只。若只。若用用100钱买钱买100只鸡,可以有多少种买法?只鸡,可以有多少种买法?用用x表示可以买到的公鸡数量、表示可以买到的公鸡数量、y表示可以买表示可以买到的母鸡数量、到的母鸡数量、z表示可以买到的小鸡数量。表示可以买到的小鸡数量。则:则:x+y+z=100,5x+3y+z/3=100 155.3 穷举法求满足条件的一组解穷举法求满足条件的一组解l算法描述算法描述 不不重重复复不不遗遗漏漏地地取取x、y和和z的的所所有有可可能能值值,

8、分分别别将每组取值代入方程组将每组取值代入方程组 x+y+z=100,5x+3y+z/3=100 判判断断是是不不是是方方程程组组的的解解,若若是是解则输出解则输出x、y和和z的这一组取值。的这一组取值。165.3 穷举法求满足条件的一组解穷举法求满足条件的一组解#include int main(void)int x,y,z;for(x=0;x=20;x+)for(y=0;y=33;y+)for(z=0;z=100;z+)if(x+y+z=100&5*x+3*y+z/3=100&z%3=0)printf(“x=%d,y=%d,z=%dn”,x,y,z);return 0;程序实现程序实现17

9、5.4 级数近似计算级数近似计算 一个函数可以近似地表示为一个收敛的幂级数。一个函数可以近似地表示为一个收敛的幂级数。因此函数求值问题可以归结为级数项求和问题。因此函数求值问题可以归结为级数项求和问题。例如例如:用计算机计算无穷级数的值时只能计算有限个用计算机计算无穷级数的值时只能计算有限个级数项的和。因此,用程序求得的级数值只能级数项的和。因此,用程序求得的级数值只能是在给定误差范围内的近似值。即:计算级数是在给定误差范围内的近似值。即:计算级数前前n个项之和,当通项(第个项之和,当通项(第n项)的绝对值小于项)的绝对值小于所给误差时停止级数项累加计算。所给误差时停止级数项累加计算。185.

10、4 级数近似计算级数近似计算l5.4.1 简单方法简单方法l5.4.2 递推法递推法 195.4.1 简单方法简单方法 l程序实现程序实现 计算计算ex级数展开式的近似值,误差为键盘输入的级数展开式的近似值,误差为键盘输入的eps。#include#include int main(void)double s=1,a=1,x,eps,f;int n,m;printf(“input x and eps:”);scanf(“%lf%lf”,&x,&eps);for(n=1;fabs(a)eps;n+)for(f=1,m=1;m=n;m+)f*=m;a=pow(x,n)/f;s+=a;printf(

11、f”,s);205.4.2 递推法递推法 l算法描述算法描述在计算级数的各项值时从前项结果推出后项结果在计算级数的各项值时从前项结果推出后项结果例如:例如:将级数:将级数:表示为:表示为:则:则:a1=1,an=an-1 x/(n-1)(n=2,3,4)215.4.2 递推法递推法l采用递推法计算采用递推法计算ex的级数展开式近似值,允许误的级数展开式近似值,允许误差在差在eps范围内。范围内。#include#include int main(void)double s=1,a=1,x,eps;int n;printf(“input x and eps:”);scanf(“%lf%lf”

12、x,&eps);for(n=2;fabs(a)eps;n+)a=a*x/(n-1);s+=a;printf(“%f”,s);程序实现程序实现225.5 一元非线性方程求根一元非线性方程求根 l5.5.1 牛顿迭代法牛顿迭代法 l5.5.2 二分法和弦截法二分法和弦截法 235.5.1 牛顿迭代法牛顿迭代法 l牛顿迭代公式牛顿迭代公式 xn+1=xnf(xn)/f(xn)求方程求方程f(x)=0在在x0附近附近的一个近似实根的一个近似实根。245.5.1 牛顿迭代法牛顿迭代法l(1)用方程用方程f(x)=0根的初始近似值根的初始近似值x0带入牛顿迭带入牛顿迭代公式求得代公式求得x1,用,用x

13、1带入牛顿迭代公式求得带入牛顿迭代公式求得x2 如此重复可得到根的如此重复可得到根的近似值序列近似值序列x0,x1,x2,xn。l(2)每求出一个新的每求出一个新的近似值近似值xn+1后均判断后均判断|f(xn+1)|或或|xn+1-xn|是否成立,若成立则是否成立,若成立则xn+1是所要求解的方程是所要求解的方程f(x)=0在在x0附近、满足允许误附近、满足允许误差差 的一个近似实根。的一个近似实根。算法描述算法描述255.5.1 牛顿迭代法牛顿迭代法l采用牛顿迭代法采用牛顿迭代法求方程求方程-3x3+4x2-5x+6=0在在1.0附近附近的一个近似实根,允许求得的近似根在小数点后第的一个近

14、似实根,允许求得的近似根在小数点后第6位存在误差位存在误差。#include#include int main(void)double x,x1,eps=1e-6,f,f1;x=1.0;dox1=x;f=6-x1*(5-x1*(4-3*x1);f1=-5+x1*(8-9*x1);x=x1-f/f1;f=6-x*(5-x*(4-3*x);while(fabs(f)=eps&fabs(x-x1)=eps);printf(“x=%f”,x);程序实现程序实现265.5.2 二分法和弦截法二分法和弦截法 275.5.2 二分法和弦截法二分法和弦截法 l 找到找到x轴上的两个端点轴上的两个端点a和和b使

15、得方程使得方程f(x)=0在在a,b中只有一个根;判断中只有一个根;判断a和和b是否为方程的是否为方程的近似根,若是立即结束计算;近似根,若是立即结束计算;l 若若a、b均不是近似根则计算均不是近似根则计算a,b的中心点的中心点c=(a+b)/2,判断判断c是否为方程的近似根,若是是否为方程的近似根,若是则立即结束计算;则立即结束计算;l 若若c不是近似根且不是近似根且a b则将则将a,b 区间调整到区间调整到a,c或或c,b(即将即将a,b 的长度缩小一半)的长度缩小一半)并确保方程并确保方程在在调整后的调整后的a,b 中仍有一个实根中仍有一个实根;重复第;重复第(3)步直到找到根为止。步直

16、到找到根为止。二分法算法描述二分法算法描述285.5.2 二分法和弦截法二分法和弦截法 l计算方程计算方程-3x3+4x2-5x+6=0的一个近似实根,的一个近似实根,允许所求得的近似根在小数点后第允许所求得的近似根在小数点后第6位上有位上有误差。误差。#include#include double f(double x)return 6-x*(5-x*(4-3*x);int main(void)double a,b,c,x,eps=1e-6;do printf(“No one root”);scanf(“%lf%lf”,&a,&b);while(f(a)*f(b)0);二分法程序实现二分法程

17、序实现295.5.2 二分法和弦截法二分法和弦截法 if(fabs(f(a)1e-6)x=a;else if(fabs(f(b)eps&fabs(b-a)eps)if(f(a)*f(c)0)b=c;else a=c;c=(b+a)/2;x=c;printf(“x=%f”,x);305.5.2 二分法和弦截法二分法和弦截法 找到找到x轴上的两个端点轴上的两个端点a和和b使得方程使得方程f(x)=0在在a,b中只中只有一个根;判断有一个根;判断a和和b是否为方程的近似根,若是立即结是否为方程的近似根,若是立即结束计算;束计算;若若a、b均不是近似根则用以下公式计算均不是近似根则用以下公式计算a,b

18、中的一点中的一点c的值的值,判断,判断c是否为方程的近似根,若是则立即结束计是否为方程的近似根,若是则立即结束计算;算;若若c不是近似根且不是近似根且a b则将则将a,b 区间调整到区间调整到a,c或或c,b(即将即将a,b 区间的长度缩小一半)并确保方程区间的长度缩小一半)并确保方程在在调整后的调整后的a,b 中仍有一个实根中仍有一个实根;重复第;重复第(3)步直到步直到找到根为止。找到根为止。弦截法算法描述弦截法算法描述315.6*定积分近似计算定积分近似计算l5.6.1 梯形法梯形法 l5.6.2 矩形法矩形法325.6.1 梯形法梯形法 335.6.1 梯形法梯形法l将将 对应的曲边梯

19、形等分为对应的曲边梯形等分为n个小曲边梯形,个小曲边梯形,每个小曲边梯形的高度每个小曲边梯形的高度h=(b-a)/n;采用梯形面采用梯形面积计算公式计算每个小曲边梯形面积近似值,积计算公式计算每个小曲边梯形面积近似值,所有小曲边梯形面积之和是所要求解的定积分所有小曲边梯形面积之和是所要求解的定积分近似值。近似值。算法描述算法描述345.6.1 梯形法梯形法l采用梯形法计算采用梯形法计算 近似值。近似值。#include#include int main(void)long n,i;double a=-3.14159/2,b=3.14159/2,h,s,x;scanf(“%ld”,&n);h=(

20、b-a)/n;s=(cos(a)+cos(b)/2;x=a;for(i=1;in;i+)x+=h;s+=cos(x);printf(“s=%f”,s*h);程序实现程序实现355.6.2 矩形法矩形法l算法描述算法描述 将将 对应的曲边梯形等分为对应的曲边梯形等分为n个小曲边梯形,个小曲边梯形,每个小曲边梯形的高度每个小曲边梯形的高度h=(b-a)/n;将每个小曲将每个小曲边梯形看作矩形,采用矩形面积计算公式计算边梯形看作矩形,采用矩形面积计算公式计算每个小矩形的面积每个小矩形的面积,所有小矩形面积之和是所所有小矩形面积之和是所要求解的定积分近似值。要求解的定积分近似值。365.6.2 矩形法矩形法l 采用矩形法计算采用矩形法计算 近似值。近似值。#include#include int main(void)long n,i;double a=-3.14159/2,b=3.14159/2,h,s=0,x;scanf(“%ld”,&n);h=(b-a)/n;x=a;for(i=0;in;i+)x+=h;s+=cos(x);printf(“s=%f”,s*h);程序实现程序实现

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服