HDU1568
Fibonacci
Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 4805 Accepted Submission(s): 2223
(f[0]=0,f[1]=1;f[i] = f[i-1]+f[i-2](i>=2))的值全部给背了下来。
接下来,CodeStar决定要考考他,于是每问他一个数字,他就要把答案说出来,不过有的数字太长了。所以规定超过4位的只要说出前4位就可以了,可是CodeStar自己又记不住。于是他决定编写一个程序来测验zouyu说的是否正确。
1
2
3
4
5
35
36
37
38
39
40
1
1
2
3
5
9227
1493
2415
3908
6324
1023
/*
斐波那契数列求和公式:(/5)表示根号5,f[n]=1/(/5) * (((1+(/5))/2)^n-((1-(/5))/2)^n)
然后就是神奇的long10,对两边同时long10的long10(f[n])=long10(1/(/5))+long10(((1+(/5))/2)^n)+long10(1-((1-(/5))/(1+(/5)))^n)
long10(1-((1-(/5))/(1+(/5)))^n)趋于0。只要求出long10(1/(/5))+long10(((1+(/5))/2)^n)就是10的幂次。
所以根据以前博客里的的一道题,10^(整数部分+小数部分),而小数部分在乘几次10取整就是要求的结果。
*/
#include<iostream>
#include<cstdio>
#include<cmath>
using namespace std;
int main()
{
int n;
int f[];
f[]=;f[]=;
for(int i=;i<=;i++)
f[i]=f[i-]+f[i-];
while(scanf("%d",&n)!=EOF)
{
if(n<=)
printf("%d\n",f[n]);
else
{
double tem=-0.5*log10(5.0)+(double)n*log10((1.0+sqrt(5.0))/2.0);
int ttem=tem;
tem-=ttem;
double ans=pow(10.0,tem);
while(ans<)
ans*=;
ttem=ans;
printf("%d\n",ttem);
}
}
return ;
}
HDU1568的更多相关文章
- HDU1568斐波那契推理
Fibonacci Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total S ...
- 【类似N^N做法的斐波那契数列】【HDU1568】 Fibonacci
Fibonacci Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total ...
- hdu1568 Fibonacci---前4位
题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=1568 题目大意: 求斐波那契数列第i项的前四位.i<1e8 思路: 由于数据范围大,不可能打表 ...
- Fibonacci (hdu1568)数学公式
Fibonacci Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Subm ...
- hdu1568&&hdu3117 求斐波那契数前四位和后四位
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1568 题意:如标题所示,求斐波那契数前四位,不足四位直接输出答案 斐波那契数列通式: 当n<=2 ...
- hdu1568斐波那契前4位
题意: 就是求斐波那契数,但是只要求输出前四位,(n<=100000000). 思路: 这个要用到斐波那契的公式和一些log的规律,直接打看着很乱,直接在网上偷张图片吧: ...
- HDU5171 矩阵快速幂
题目描述:http://acm.hdu.edu.cn/showproblem.php?pid=5171 算法: 可以先将数组a[]排序,然后序列 a1 , a2 , … , an 即为有序序列,则第一 ...
- hdu3117 斐波那契前后4位
题意: 求斐波那契的前后4位,n <= 10^8. 思路: 至于前四位,和hdu1568的求法一样: http://blog.csdn.net/u013761 ...
随机推荐
- 湖南省第十二届大学生计算机程序设计竞赛 F 地铁 多源多汇最短路
1808: 地铁 Description Bobo 居住在大城市 ICPCCamp. ICPCCamp 有 n 个地铁站,用 1,2,…,n 编号. m 段双向的地铁线路连接 n 个地铁站,其中第 i ...
- Emacs 之列编辑模式
// */ // ]]> Emacs 之 列编辑模式 Table of Contents 1. Emacs 下列编辑模式常用命令 2. 可以参考 1 Emacs 下列编辑模式常用命令 先mark ...
- cvKMeans2函数用法概述
一般情况下,我们通过C++/Matlab/Python等语言进行实现K-means算法,结合近期我刚刚学的C++,先从C++实现谈起,C++里面我们一般采用的是OpenCV库中写好的K-means函数 ...
- Liferay 6.2 改造系列之三:删除Docbar中的添加内容功能
在/portal-master/portal-web/docroot/html/portlet/dockbar/add_panel.jsp文件中 将以下内容: if (hasAddContentAnd ...
- css样式—字体垂直、水平居中
“来,老板娘,给个div瞅瞅”: “好的,宇哥,来了了了”: <div class="tt">啦啦啦</div> “给各样啊,我去”: “是”: .tt{ ...
- psql-05数据库,模式
数据的组织结构 数据库:表,索引:数据行 PostgreSQL中一个服务(实例)可以有多个数据库:而一个数据库不能属于多个实例; 数据库 创建数据库 create database name [own ...
- Zepto tap 穿透bug
当两个层重叠在一起时,使用Zepto的tap事件时,点击上面的一层时会触发下面一层的事件,特别是底层如果是input框时,必“穿透”,“google”说原因是“tap事件实际上是在冒泡到body上时才 ...
- 【CLR in c#】参数
1.可选参数和命名参数 设计一个参数时,可为部分或全部参数分配默认值,调用这些方法的代码可以选择不指定部分实参,接受默认值,还可以通过制定参数名称的方式传递实参.如下 class CLR可选参数 { ...
- JavaScript类型转换
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- start bbs轻论坛安装时数据库提示错误
A PHP Error was encounteredSeverity: NoticeMessage: Only variable references should be returned by r ...