当前位置:网站首页>HDU3117 Fibonacci Numbers【数学】
HDU3117 Fibonacci Numbers【数学】
2022-07-27 13:49:00 【51CTO】
题目链接:
http://acm.hdu.edu.cn/showproblem.php?pid=3117
题目大意:
给你一个整数N(0 <= N <= 10^8),求斐波那契数列第N项F[N]的前四位数字和末尾四位数字。
思路:
斐波那契数列是一个很大的数,直接暴力枚举显然不科学。先考虑末尾4位是否有循环节,写个
程序发现循环节是15000,直接用数组存储前15000的斐波那契数列的末尾4位。至于斐波那契
数列的前4位。通过计算得出N >= 40之后,F[N]就大于8位数了。对于N < 40的部分可以直接
输出结果,对于N >= 40的部分,考虑公式 F[N] =(1/√5) * ( ((1+√5)/2)^n - ((1-√5)/2)^n )。
设F[N]可表示为t * 10^k(t为一个小数),那么对F[N] = t * 10^k两边分别取对数log10,得到:
log10(F[N]) = log10(t) + k 。log10(t) = log10(F[N]) - k,因为t肯定是小于10的小数,所以,
log10(t) < 1,而且k为整数,那么log10(t)的值就是log10(F[N])去掉整数部分的小数部分。
用pow(10.0,log10(t))求出t。将t*1000取整数部分就得到了F[N]的前4位。
还有一点,求F[N] = (1/√5) * ( ((1+√5)/2)^n - ((1-√5)/2)^n )的时候,因为N>=40的时候,
((1-√5)/2)^n已经是一个非常小的小数(小数点后10位左右),所以可以直接忽略。这样子,
F[N] ≈ (1/√5) * ((1+√5)/2)^n。log10(F[N])化简为:1/sqrt(5.0) + N*log10(1+(sqrt(5.0))/2.0)。
AC代码:
边栏推荐
- Dynamic programming - stock trading 5
- UnityUI方面处理(归纳与积累)
- FPGA timing constraint sharing 04_ Output delay constraint
- Differences among CPU, GPU and NPU
- Carla notes (04) - client and world (create client, connect world, batch object, set weather, set lights, world snapshots)
- 【科普】精度和分辨率的区别与联系
- np. Usage and difference of range() and range()
- SkyWalking分布式系统应用程序性能监控工具-中
- @Bean 与 @Component 用在同一个类上,会发生什么?
- 在Oracle VirtualBox中导入Kali Linux官方制作的虚拟机
猜你喜欢

Slam overview Reading Note 7: visual and visual intangible slam: state of the art, classification, and empirical 2021

C语言基础知识梳理总结

【STM32】EXTI

SLAM综述阅读笔记六:基于图像语义的SLAM调研:移动机器人自主导航面向应用的解决方案 2020

终于有人把面试必考的动态规划、链表、二叉树、字符串全部撸完了

SLAM综述阅读笔记七:Visual and Visual-Inertial SLAM: State of the Art, Classification,and Experimental 2021

DirectX 入门知识

codeforces 1708E - DFS Trees

视觉系统设计实例(halcon-winform)-10.PLC通讯

PROFINET simulator tutorial
随机推荐
在Oracle VirtualBox中导入Kali Linux官方制作的虚拟机
STM32 - capacitive touch button experiment
Advanced MySQL III. storage engine
动态规划——股票买卖5
How to solve cache avalanche, breakdown and penetration problems
Regular expressions: mailbox matching
万字详解 Google Play 上架应用标准包格式 AAB
Hard deduction SQL statement exercises, wrong question records
如何帮助企业优化Office管理
面试官问:如何判断一个元素是否在可视区域?
Forward proxy and reverse proxy
idea打jar包与引入jar包
视觉系统设计实例(halcon-winform)-10.PLC通讯
Hdu1422 revisits the world cup [DP]
DVWA全级别通关教程
力扣SQL语句习题,错题记录
Kubernetes 节点磁盘故障排查
Slam overview Reading Note 7: visual and visual intangible slam: state of the art, classification, and empirical 2021
Toward Fast, Flexible, and Robust Low-Light Image Enhancement(实现快速、灵活和稳健的弱光图像增强)CVPR2022
通过VN1630/VN7640的I/O功能来确认电源设置电压的时间精确度