- 1、本文档共39页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 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
您可能关注的文档
- 2008年云南省高中数学会考模拟试题01.doc
- lzp多士炉组.ppt
- 第五章oracleoop概念.ppt
- 唐延路所2012年税收收入情况分析.doc
- 学习加拿大职业教育的启示与思考.ppt
- 醋酸蒸馏流程作业图.doc
- 最小路径的程序.doc
- 认识钟表一年级.ppt
- 有理数1MicrosoftWord文档.doc
- 高中数学必修一难题个人整理的.doc
- 河南省2025届初中学业水平考试核心诊断(二)数学试卷(含解析).docx
- 2025年湖南省中考模拟数学试卷试题及答案详解.docx
- 北京交通大学《金融市场》2023-2024学年第一学期期末试卷.doc
- 河北省沧州市部分学校2025届九年级下学期中考一模数学试卷(含解析).docx
- 北京交通大学《机器人技术及应用》2022-2023学年第一学期期末试卷.doc
- 河北省保定市蠡县部分学校2025届九年级下学期中考一模数学试卷(含解析).docx
- 2025届北京海淀区高三二模高考语文试卷试题(含答案详解).docx
- 北京交通大学《管理信息系统综合专题》2021-2022学年第一学期期末试卷.doc
- 2025届北京东城区高三二模高考语文试卷试题(含答案详解).docx
- 海南省琼海市2024届九年级下学期中考二模数学试卷(含解析).docx
文档评论(0)