斐波那契数列大数的压位c语言,HDU 1568 Fibonacci(大数前4位)
分析:x=1234567.求其前四位数: log10(x)=log10(1.234567)+6. 所以1.234567=10^(log10(x)-6). 1234 =(int) 10^(log10(x)-6)*1000. [6=length-4,length=(int)log10(x)+1]同时我们知道:
对于小于10000的数字可以存储在数组中直接输出,大于等于10000的数字则用上式计算。我们能知道:i<21 f[i]<1e4.当n=21时[(1-sqrt(5))/2]^n --> 0.618^n 0.618自乘5次就会退一个10进制等级。所以n>=21可以忽略[(1-sqrt(5))/2]^n。log10(x)=log10[ 1/sqrt(5)*[(1+sqrt(5))/2]^n ]=log10(1/sqrt(5))+n*log10(1+sqrt(5))/2).
例如:
log10(12345678)=log10(1.2345678*10^7)=log10(1.2345678)+7
log10(1.2345678)就是log10(12345678)的小数部分.
log10(1.2345678)=qs
10^qs=1.2345678,
要求该数的前4位,则将 1.2345678*1000即可。
#include
#include
#include
using namespace std;
const int maxn=50; //,mod=1e4;
int f[maxn];
int main()
{
f[0]=0;
f[1]=1;
for(int i=2;i<21;i++){
f[i]=f[i-1]+f[i-2]; //i<21 f[i]<1e4.
}
int n;
double q1=log10(1/sqrt(5)),q2=log10((1+sqrt(5))/2);
while(cin>>n){
if(n<21){ printf("%d\n",f[n]); continue; }
double t=q1+n*q2;
double p=t-(int)t;
double ans1=pow(10,p);
cout<
}
return 0;
}
[hdu 1568] Fibonacci数列前4位
2007年到来了.经过2006年一年的修炼,数学神童zouyu终于把0到100000000的Fibonacci数列(f[0]=0,f[1]=1;f[i] = f[i-1]+f[i-2](i>=2 ...
HDU 1568 Fibonacci【求斐波那契数的前4位/递推式】
Fibonacci Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Proble ...
HDU 1568 Fibonacci 数学= = 开篇
题目链接 http://acm.hdu.edu.cn/showproblem.php?pid=1568 分析:一道数学题 找出斐波那契数列的通项公式,再利用对数的性质就可得到前几位的数 斐波那契通项公 ...
hdu 1568 Fibonacci 快速幂
Fibonacci Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Proble ...
hdu 1568 Fibonacci 数学公式
Fibonacci Problem Description 2007年到来了.经过2006年一年的修炼,数学神童zouyu终于把0到的Fibonacci数列(f[0]=0,f[1]=1;f[i] = ...
HDU 1568 Fibonacci
题解:首先,对于小于10000的斐波那契数,我们直接计算,当大于10000时,用公式,由于只要输出前四位,所以不用考虑浮点数的问题,算出其取log的结果: tmp=(log(sq5/5)+n*log( ...
hdu 4099 Revenge of Fibonacci 大数+压位+trie
最近手感有点差,所以做点水题来锻炼一下信心. 下周的南京区域赛估计就是我的退役赛了,bless all. Revenge of Fibonacci Time Limit: 10000/5000 MS ...
用PL0语言求Fibonacci数列前m个中偶数位的数
程序说明:求Fibonacci数列前m个中偶数位的数: 这是编译原理作业,本打算写 求Fibonacci数列前m个数:写了半天,不会写,就放弃了: 程序代码如下: var n1,n2,m,i; pro ...
HDU 3117 Fibonacci Numbers(围绕四个租赁斐波那契,通过计++乘坐高速动力矩阵)
HDU 3117 Fibonacci Numbers(斐波那契前后四位,打表+取对+矩阵高速幂) ACM 题目地址:HDU 3117 Fibonacci Numbers 题意: 求第n个斐波那契数的 ...
随机推荐
node、npm、gulp、bower、ionic下载及安装
node: http://nodejs.cn/ npm: 随node一起安装了 gulp: http://www.gulpjs.com.cn/docs/getting-started/ bower: ...
论python中的作用域
编程语言从早至今,可以分为面向过程编程.面向函数编程和面向对象编程.BASIC语言是典型的面向过程编程的语言,C语言支持面向函数编程,但不支持面向对象,JAVA只支持面向对象编程,python同时支持 ...
MD5加密类方法
package com.shkj.android.utils; import java.security.MessageDigest;import java.security.NoSuchAlgori ...
CPU affinity 进程和线程的亲缘性
设置Processor Affinity 作用: 1.进程和线程的亲缘性(affinity),使进程或线程在指定的CPU(核)上运行.(比如程序A,在第4个核心上运行) 2.设置进程 或者 线程, 使 ...
CSS权威指南学习笔记 —— 初步认识CSS
层叠样式表(Cascading Style Sheets,CSS)可以影响文档的表现.CSS是依附于文档的,如果不存在某种文档,CSS基本上是没有用的. 为什么会有CSS 在web早期(1990-19 ...
C++运算符重载为非成员函数
#include using namespace std; class Complex{ public: Complex(double r=0.0,double i=0 ...
junit测试模板 unit-test
一个项目能否发布上线,重要的环节就是测试.经过集成测试.性能测试.压力测试等不断循环的测试过后依据测试报告来确定上线.这些由专业的测试人员来完成,因此会导致程序开发者对自身的单元测试的弱化.若在代码中 ...
Git - git status - 查看当前仓库状态
索引: 目录索引 参看代码 GitHub: git.txt 一.示例: git status 二.说明: 1."status" 部分 该命令可以查出当前分支文件变更状态, 可以查出 ...
Mybatis中 collection 和 association 的区别?
public class A{ private B b1; private List b2;} 在映射b1属性时用association标签,(一对一的关系) 映射b2时用colle ...
斐波那契数列大数的压位c语言,HDU 1568 Fibonacci(大数前4位)相关推荐
- python编写递归函数、求斐波那契数列第n项_用Python实现求Fibonacci数列的第n项
1. 背景--Fabonacci数列的介绍(摘自百度百科): 斐波那契数列(Fibonacci sequence),又称黄金分割数列.因数学家列昂纳多·斐波那契(Leonardoda Fibonacc ...
- 斐波那契数列除以10007的余数C语言,C语言之不一样的斐波那契数列
图片发自简书App 问题描述 Fibonacci数列的递推公式为:F(n)=F(n-1)+F(n-2),其中F(1)=F(2)=1. 当n比较大时,Fn也非常大,现在我们想知道,Fn除以10007的余 ...
- 【C语言】斐波那契数列,依次输出1 1 2 3 5 13等前10个数
#include <stdio.h> int main() {int f1=1,f2=1,f3=1;int i; printf("%d %d ",f1,f2);for( ...
- 黄金连分数(斐波那契数列、大数运算)正确解法
标题: 黄金连分数 黄金分割数0.61803... 是个无理数,这个常数十分重要,在许多工程问题中会出现.有时需要把这个数字求得很精确. 对于某些精密工程,常数的精度很重要.也许你听说过哈勃太 ...
- 用递归法计算斐波那契数列的第n项
斐波纳契数列(Fibonacci Sequence)又称黄金分割数列,指的是这样一个数列:1.1.2.3.5.8.13.21.--在数学上,斐波纳契数列以如下被以递归的方法定义:F0=0,F1=1, ...
- 剑指offer_第7题_斐波那契数列
题目描述 现在要求输入一个整数n 输出斐波那契数列的第n项(从0开始,第0项为0). n<=39 理解 斐波那契数列 因数学家列昂纳多·斐波那契(Leonardoda Fibonacci)以兔子 ...
- 编程之美2.9 斐波那契数列
斐波那契数列是我们在学习C语言的时候,在递归那一章的经典实例,当然,还会有汉诺塔的例子. 这个问题时这样定义的: 0 (x <= 0) f(x) = 1 (x == 1) f(x - 1) ...
- java从键盘输入数据斐波那契数_从键盘输入一个正整数n,打印出斐波那契数列的前n个元素...
import java.util.*; public class Test { public static void main(String[] args){ Scanner in = new Sca ...
- 牛客网(剑指offer) 第七题 斐波那契数列
//问题描述: 大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项. n<=39 function Fibonacci($n){//显然递归超时了 2333333333 ...
最新文章
- 个人网站架构设计(一)
- 资讯|WebRTC M94 更新
- HashMap 的底层
- 关于kgm文件的解码
- 敏捷开发快速入门(四):Scrum开发流程
- centos 搭建 SVN
- python如何画神经网络特征图
- 自助提取公积金(北京)
- 消费者人群画像 python_一步一步教你分析消费者大数据
- 自旋锁为什么不适用于单处理器系统
- android 包命名不管你怎么命,千万不要用下面几个
- excel每页打印标题
- 前端项目总结:客运互联网售票平台
- 一文总结 Shiro 实战教程
- 关于numpy,torch中seed()方法的一些理解
- 算法与数据结构(第一周)——线性查找法
- matlab中通过pcwrite将xyz数据转换成pcd格式文件
- Graphx图算法介绍
- win10启动linux蓝屏,系统之家重装 win10启动蓝屏0xc000021a如何修复
- 安装 VS2012/2013 完成时报错“无法建立到信任根颁发机构的证书链”
热门文章
- Operations Manager 2007 监控Active Directory SCOM-Part 3
- 初探webpack之从零搭建Vue开发环境
- scratch绘制多边形_如何使用Scratch 3绘制矢量图形
- bash 脚本编写_如何在Bash中编写循环
- android开源2016_2016年开源领域的7大法律发展
- 采访拍摄镜头技巧_采访开放文化公司的6个技巧
- system health_Health Hack 2014:开源,开放数据和跨学科协作的力量
- Bootstrap3 轮番插件的使用方法
- Bootstrap翻页组件
- PX4 编译分析之Airframe文档生成