HDU 1568 犀利的斐波那契

http://acm.hdu.edu.cn/showproblem.php?pid=1568

题目大意:求第N项斐波那契数列值的前四位,N很大

 

网上看的资料还算是好理解的:

 

(1)我们要知道斐波那契数列的通项公式:F[N]=(1/√5) * [((1+√5)/2)^N-((1-√5)/2)^N].


(2)对数log的强悍(以10为底):对两边取对数

 

logF[N]=-0.5*log5+log [((1+√5)/2)^N-((1-√5)/2)^N].

我们知道当N小于21的时候,斐波那契的数值不超过四位,而当N超过21时,((1-√5)/2)^N的值已经趋向于0了,我们可以不管 这项。那么原式就可以化为:

logF[N]=-0.5*log5+N*log (1+√5)/2

把后面的记为K=-0.5*log5+N*log (1+√5)/2

那么  10^K=F[N];!!! 

     举个例子: 10^2.3=199.5262314.......

10^0.3=1.995262314.......

这样具体的数字很直观,对映到 10^K=F[N],取K的小数部分后,10^K就变为了科学计数的形式,那么此时你要取多少位就可以取 多少位,就像要是你知道了10^0.3,那么你想得到1.995262314......的几位就几位!!

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值