程序设计初步资料.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
* 分析:总粒数:sum=1+2+22+23+…+263 前后项关系: t=t*2 #includeiostream #define CONST 1.42e8 using namespace std; int main() { int n; double t=1, sum=1; for (n=1; n=63; n++) { t=t*2; sum=sum+t; } coutsum=sum endl; coutvolum=“ (sum/CONST) endl; return 0; } * 例3:马克思手稿中的趣味数学题(不讲) 有30个人,其中有男人、女人和小孩,在一家饭馆里吃饭共花了50先令,每个男人各花3先令,每个女人各花2先令,每个小孩各花1先令,问男人、女人和小孩各有几人? 分析: 求解不定方程的问题。 方程组: * 参考程序: #includeiostream using namespace std; int main() { int x,y,z; for (x=0; x=30; x++) for (y=0; y=30; y++) for (z=0; z=30; z++) if ((x+y+z==30) (3*x+2*y+z==50)) coutx=x‘ ’y=y‘ ’ z=zendl; return 0; } * 改进程序: #includeiostream using namespace std; int main() { int x,y,z; for (x=0; x=16; x++) for (y=0; y=25; y++) { z=30-x-y; if (3*x+2*y+z==50) coutx=x‘ ‘y=y‘ ‘ “z=”zendl;} return 0; } * 方法:不能被2、3、……sqrt(m)中任何一个数整除的数 例4:判定某数m是否素数? #includeiostream #include cmath using namespace std; int main() { int m , i ; cinm; for (i=2; i=sqrt(m); i++) if (m%i==0) { coutm Noendl; break; } coutm Yesendl; return 0; } int m , i ,flag=0; flag=1; if (flag==1) coutm Noendl; else coutm Yesendl; * 思考:若要求100—200内所有素数? #includeiostream #include cmath using namespace std; int main() { int m , i ,flag=0; cinm; for (i=2; i=sqrt(m); i++) if (m%i==0) { flag=1; break; } for(m=100;m=200;m++) { if(flag==0) coutmendl; return 0; } flag=0; } 思考: (1)如何改进算法,使程序执行更快? (2)若想每行打印5个素数,如何实现? * 例5:迭代求根(不讲) 迭代公式为 要求:前后两次求的x的差的绝对值小于10-5 分析:初值 x0=a/2 循环条件: fabs(x1-x0)≥10-5 * 参考程序: #include iostream #includecmath using namespace std; int main () { double a,x1,x0; cina; x0=a/2; x1=(x0+a/x0)/2; while(fabs(x1-x0)=1e-5) { x0=x1; x1=(x0+a/x0)/2; } coutx1endl; cout(sqrt(a))endl; return 0; } * * *** ***** ******* 例6:打印直角三角形 方法: 双重循环,外循环控制行数

文档评论(0)

创业文库 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档