nyoj461 Fiboncci数列(4)解通项公式
Fibonacci数列(四)
- 描述
-
数学神童小明终于把0到100000000的Fibonacci数列(f[0]=0,f[1]=1;f[i] = f[i-1]+f[i-2](i>=2))的值全部给背了下来。
接下来,CodeStar决定要考考他,于是每问他一个数字,他就要把答案说出来,不过有的数字太长了。所以规定超过4位的只要说出前4位(高4位)就可以了,可是CodeStar自己又记不住。于是他决定编写一个程序来测验小明说的是否正确。- 输入
- 输入若干数字n(0 <= n <= 100000000),每个数字一行。读到文件尾结束。
- 输出
- 输出f[n]的前4个数字(若不足4个数字,就全部输出)。
- 样例输入
-
0 1 2 3 4 5 35 36 37 38 39 40
- 样例输出
-
0 1 1 2 3 5 9227 1493 2415 3908 6324 1023
- 来源
- hdu
-
上传者
rihkddd思路:见程序注释
-
#include<iostream> #include<stdio.h> #include<string.h> #include<algorithm> #include<math.h> using namespace std; int a[25]; void init() {a[0]=0;a[1]=1;a[2]=1;for(int i=3;i<=21;i++)a[i]=a[i-1]+a[i-2];//特征方程 x^2=x+1//x1.2=(1+-sqrt(5)); } int main() {int n;init();while(~scanf("%d",&n)){if(n<=20)printf("%d\n",a[n]);else{double tp=n*log((1+sqrt(5.0))/2.0)/log(10.0)-0.5*log(5.0)/log(10.0);//f(n)=A*((1+sqrt(5))/2)+B*((1-sqrt(5))/2);tp-=floor(tp);//A=SQRT(5)/5 B=-sqrt(5);tp=pow(10.0,tp);while(tp<1000)tp*=10;printf("%d\n",(int)tp);}} }
nyoj461 Fiboncci数列(4)解通项公式相关推荐
- fibonacci斐波那契数列详解 递归求Fn非递归求Fn求n最近的斐波那契数
斐波那契fibonacci 斐波那契额数列即前两项F(0)和F(1)都是1,之后的每一项都是前两项相加和即F(3)=2,F(4)=3,F(5)=5; 通项公式:F(n+2)=F(n+1)+F(n). ...
- 力扣刷题之路 38. 外观数列 Python解
给定一个正整数 n ,输出外观数列的第 n 项. 「外观数列」是一个整数序列,从数字 1 开始,序列中的每一项都是对前一项的描述. 你可以将其视作是由递归公式定义的数字字符串序列: countAndS ...
- 数据结构之栈与递归的实现及应用(斐波拉契数列递归解法和strlen递归解法)
栈与递归 程序中的"函数调用栈"是栈数据结构的一种应用. 函数调用栈一般是从高地址向低地址增长的,栈底为内存的高地址处,栈顶为内存的低地址处. 函数调用栈中存储的数据为活动记录.活 ...
- python实现斐波那契数列详解(黄金分割)
今天给各位分享一个常见的题目:求斐波那契数列前n项分别是什么(也称为黄金分割数列),整个数列需满足一个条件即第三项的值等于前两项相加的和,如第一项是1.第二项是1.第三项是2.第四项是 3.第五项是5 ...
- 使用递归方法计算斐波那契数列详解
斐波那契数列:1.1.2.3.5.8.13.21....... 首先观察数列,得出规律:f(n)=f(n-1)+f(n-2),n为位数: 其次,定义一个feibonaqie类,构造出方法,由题目易知, ...
- 斐波那契数列 - 递推公式及通项公式 代码
- 不动点求数列通项原理_不动点法和数列通项公式
写这篇文章的原因是一直耿耿于怀的这个题目: 因为是浙江题,当时官方给出的答案是利用不动点法判断,不动点法或者特征根法求通项公式并不是全国卷考生的复习内容,当时只是觉得这部分内容有点过于花里胡哨没有太大 ...
- matlab 帕多瓦数列 通项公式_斐波那契数列的通项公式及证明
简介 斐波那契数列是指的这样的一个数列,从第3项开始,以后每一项都等于前两项之和.写成递推公式即: \[a_n=a_{n-1}+a_{n-2}(n \ge 3) \] 假设令\(a_1=1,a_2=1 ...
- canvas rotate 累加旋转_高考数列通项公式解题方法(1):观察法、公式法、累加法、累乘法...
在高考数学中,数列是经常考察的一种题型.现在就让我们看看,针对求数列通项的题型,有哪些便捷的解答方法. 本文先分享数列通项公式的四种解法:观察法.公式法.累加法.累乘法. 一.观察法 这种方法通常是已 ...
- Fibonacci 数列
斐波纳契数列(Fibonacci Sequence),又称黄金分割数列,指的是这样一个数列:1.1.2.3.5.8.13.21.--在数学上,斐波纳契数列以如下被以递归的方法定义:F0=0,F1=1, ...
最新文章
- 教育部:国外经历不得作为高校招聘限制性条件
- Java_质数_两种解法(时间对比)
- 网络路径无法访问问题的解决
- 小心了!这18位数字一泄漏,支付宝账户就可能会被他人盗刷!
- iOS高仿微信悬浮窗、忍者小猪游戏、音乐播放器、支付宝、今日头条布局滚动效果等源码...
- 事务管理最佳实践多余的话之二:Transaction后缀给声明式事务管理带来的好处
- Docker入门之安装MySQL
- C语言查找100~200以内的素数(质数)
- android 版本权限差别,安卓手机root前后有什么区别 root后哪些高权限操作
- 自建nod32更新服务器,ESET NOD32 官方升级服务器地址
- 2020-09-12
- 不懂汇报工作,如何在职场上拼搏
- 将站点数据插值到格点上
- FFT(快速傅里叶变换)摘要
- Python使用RMF聚类分析客户价值
- js制作点击会自动隐藏的导航栏(固定在在头部的)
- python之海龟绘图
- Oracle的SQL性能优化
- atlas mysql怎么用,MySQL —— Atlas 使用
- 嵌入式软件工程师相关的应聘要求