当前位置: 首页 > news >正文

SICP 习题 (1.13) 解题总结

SICP习题1.13要求证明Fib(n)是最接近φn/√5 的整数,其中φ=(1+√5)/2。题目还有一个提示,提示解题者利用归纳法和斐波那契数的定义证明Fib(n)=n- ψn) / √5 。


说实话,面对这道题我是完败,完全没有思路那种。更加令人恼火的是,我根本不明白题目中所谓的提示是什么意思。那感觉就好像某个土豪朋友对你说,几千万的项目太难的话就先投资个几百万就好了,而你手上只有几百块一样。


不过,也不能全怪我吧,多少和出题目的作者有关系,在讲计算机程序的书里跑出一道纯数学题有点过分了吧!太不把我们这些没有数学天分的程序员当程序员看了!


然后我好长时间没去做这道题,后来有一天手贱翻了翻《算法导论》,才突然发现SICP相比之下是如此平易近人,于是才回过头将就看了一遍这道题的解法。


首先,Fib(n)=Fib(n-1)+Fib(n-2)这种是递推式,按这种方式去计算的话计算Fib(n)需要计算n次,为了简化计算过程,我们需要找一种方法可以一次性根据n计算Fib(n)的方法,这种方法使用的公式叫一个数列的“通项公式”。


当我去百度查到“通项公式”的时候,我似乎回想起来一点点,高中应该是接触过这个概念的。


后面解题过程就变成了求斐波那契数列的通项公式,有关这一点百度百科里有详细说明,包括斐波那契数列通项公式的证明,使用什么等比数列法之类的。就不用我转载了。


总之,我硬着头皮将整个证明过程看了一遍,看的时候好像明白了,一合眼又好像什么都不记得了。


后来,后来就没有后来了,因为我实在没有时间在这里消耗了,如果以后有时间再仔细研究。最近越发觉得应该补一补数学了,刚入手同济大学的《高等数学》,还没来得及看,工作实在太忙。


好消息是如果你像我一样也跳过这道题的话,似乎对解答后面的题影响不大。


相关文章:

  • 小智慧60
  • java中正则表达式中的非字符串处理
  • 小智慧61
  • IOS 开发之 CocoaPods讲解
  • eclipse安装插件checkstyle
  • 制作网站以及发布的流程
  • checkstyle之如何配置
  • c#中datetime类型与SqlServer中datetime格式的区别
  • 在git的Bash下进行复制粘贴
  • 小智慧62
  • SICP 习题 (1.14)解题总结
  • 一个爬电商数据并实现搜索的例子
  • Qt5学习之路(VS下Qt设计师文件的使用)2013-10-13
  • 使用shell关闭占用某一个端口的程序
  • CGlib的动态代理使用示例
  • es6(二):字符串的扩展
  • ES6系统学习----从Apollo Client看解构赋值
  • EventListener原理
  • Go 语言编译器的 //go: 详解
  • Python十分钟制作属于你自己的个性logo
  • vue总结
  • webpack+react项目初体验——记录我的webpack环境配置
  • 分类模型——Logistics Regression
  • 免费小说阅读小程序
  • 06-01 点餐小程序前台界面搭建
  • 《天龙八部3D》Unity技术方案揭秘
  • 如何在 Intellij IDEA 更高效地将应用部署到容器服务 Kubernetes ...
  • ​​​​​​​GitLab 之 GitLab-Runner 安装,配置与问题汇总
  • ​软考-高级-系统架构设计师教程(清华第2版)【第12章 信息系统架构设计理论与实践(P420~465)-思维导图】​
  • (Git) gitignore基础使用
  • (JSP)EL——优化登录界面,获取对象,获取数据
  • (附源码)php投票系统 毕业设计 121500
  • (十五)devops持续集成开发——jenkins流水线构建策略配置及触发器的使用
  • (一)80c52学习之旅-起始篇
  • (转)大道至简,职场上做人做事做管理
  • .htaccess配置常用技巧
  • .NET/C# 使窗口永不激活(No Activate 永不获得焦点)
  • .NET基础篇——反射的奥妙
  • .Net面试题4
  • .NET企业级应用架构设计系列之技术选型
  • @SuppressLint(NewApi)和@TargetApi()的区别
  • [ C++ ] template 模板进阶 (特化,分离编译)
  • [ element-ui:table ] 设置table中某些行数据禁止被选中,通过selectable 定义方法解决
  • [Android]使用Retrofit进行网络请求
  • [Avalon] Avalon中的Conditional Formatting.
  • [BUG]vscode插件live server无法自动打开浏览器
  • [DevOps云实践] 彻底删除AWS云资源
  • [javaSE] 看知乎学习工厂模式
  • [LeeCode]—Wildcard Matching 通配符匹配问题
  • [Oh My C++ Diary]结构体变量的声明
  • [OPEN SQL] 修改数据
  • [Oracle]4--查询操作
  • [POJ2104]K-th Number
  • [RK-Linux] 移植Linux-5.10到RK3399(一)| 搭建系统并让系统跑起来
  • [SDOI2016]生成魔咒