网站大量收购独家精品文档,联系QQ:2885784924

C++大学教程课后习题答案13.doc

  1. 1、本文档共39页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C大学教程课后习题答案13

Chapter 14 RECURSION 1. Solutions to and Remarks on Selected Programming Assignments 1. Fibonacci Numbers These solutions have been tested under two Linux versions using two versions of g++, under Windows XP with VC++ 6.0 and Borland 5.0. The full recursive version is slow. It takes about 17 seconds for 1 computation of Fib1(35) on an older, very slow machine (i486 DX2/100, 16 MB RAM). On a more modern machine (1 GHz Athlon. 266 MHz front side bus, 512 MB DDR RAM, fast disk drives) it runs a bit faster: N = 35 takes 3 seconds, N = 40 takes about 30 seconds, N = 41 about 50 seconds, and N = 42 takes 80 seconds. A value of N greater than 47 results in integer overflow and incorrect results with all the compilers mentioned above. With most implementations, long int is a type the same size as int. Because there are a few implementations that provide a long int that is longer than an int, I used long as the argument and return types for the fib function. To get Fibonacci numbers up to N = 50 for checking the results of the program, I changed the long type in the recursive function to long long (a 19 digit integer type supported by GNU g++, but not ANSI/ISO C++). I compiled this using g++-3.0 under the Debian Linux 3.0 operating system on a K6-2/350 with a 100 MHz backplane and 400K RAM. On this somewhat slow machine, this version of the program took about two hours for N==50, giving presumably correct results. (I acknowledge that I did not look them up.) The results agree with the code with a long return and long parameter type up to N = 47. This function computes and discards too many of the Fibonacci numbers. This kind of recursion is called umbrella recursion because it spreads like an umbrella, recomputing values many times. //File: ch14prg1Fibonacci.cc //Chapter 14, Programming Problem #1 //Write a recursive function for a function having one //parameter that generates the nth Fibonacci number. #include iostream #include cmath //This is the full recursive versi

文档评论(0)

asd522513656 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档