题目大意:问fibonacci数列的第n项的前四个数.   很好的一道题~~~如果取后几位的话,取模就可以了,但取前几位显然没这么简单= =…… 但假如我们能把它表示成小数(科学计数法)的话,那么要取几位我们乘对应的几个10就可以了(前提是取的位数在计算机表示小数的精确范围之内)~~~   取对数log10可以非常美的完成它: 假设给出一个数10234432,那么log10(10234432)=log10(1.0234432*10^7)=log10(1.0234432)+7; log10(1.0234432)就是log10(10234432)的小数部分. log10(1.0234432)=0.010063744 10^0.010063744=1.023443198 那么要取几位就很明显了吧~ 先取对数(对10取),然后得到结果的小数部分bit,pow(10.0,bit)以后如果答案还是<1000那么就一直乘10。


#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#define MID(x,y) ((x+y)>>1)
const double f=(sqrt(5.0)+1.0)/2.0;
using namespace std;
typedef long long LL;int fab[21];
int main(){int n;fab[1] = 1;for (int i = 2; i <= 20; i ++)fab[i] = fab[i-1] + fab[i-2];while(cin >> n){if (n <= 20){cout << fab[n] << endl;continue;}double log10_fabn = -0.5*log(5.0)/log(10.0)+((double)n)*log(f)/log(10.0);//忽略最后一项无穷小log10_fabn = log10_fabn - (int)log10_fabn;double num = pow(10, log10_fabn);while(num < 1000)num *= 10;cout << (int)num <

转载于:https://www.cnblogs.com/AbandonZHANG/archive/2013/02/01/4114213.html

HDU 1568 Fibonacci ★(取科学计数法)相关推荐

  1. python科学计数法转换_对比Python学习Go 基本数据结构

    公众号文章不方便更新,可关注底部「阅读原文」博客,文章随时更新. 本篇是「对比 Python 学习 Go」[1] 系列的第三篇,本篇文章我们来看下 Go 的基本数据结构.Go 的环境搭建,可参考之前的 ...

  2. 字符串转为小数点,乘以一个数以后,转换为科学计数法,再把科学计数法转化为字符串

    #include <stdio.h> #include <stdint.h> #include<string.h> #include<stdlib.h> ...

  3. sql科学计数法转换为普通数字_一张图读懂Python3的Number(数字)类型

    新朋友请点上方"数据分析师攻略"加关注 Number(数字)是Python3六个标准的数据类型中其中一种,它是一种不可变数据,分别有整型(int).浮点型(float).布尔型(b ...

  4. php 大数运算类,PHP采用超长(超大)数字运算防止数字以科学计数法显示的方法

    本文实例讲述了PHP采用超长(超大)数字运算防止数字以科学计数法显示的方法.分享给大家供大家参考,具体如下: PHP计算大数值运算时会出错,当数字太大时,数值会变成科学计数.那怎么来进行PHP超大数值 ...

  5. C# 中科学计数法转成正常值

    抓取数据的时候碰到科学技术法,查了一些资料,直接贴代码 /// <summary>/// 数字科学计数法处理/// </summary>/// <param name=& ...

  6. javascript number转string不用科学计数法_[JavaScript]之数据类型篇

    JavaScript共有7种数据类型:number,string,boolean,symbol,undefined,null,object 1. number 整数和浮点数 JavaScript 内部 ...

  7. 怎么转换科学计数法字符串_【编码技巧】python字符串格式化教你正确打印

    点击上方蓝字关注我吧! %运算符用来格式化字符串.在字符串内部,%s表示用字符串替换,%d表示用整数替换,有几个%?占位符,后面就跟几个变量或者值,顺序要一一对应.如果只有一个%?,括号可以省略.用% ...

  8. c语言科学计数法_C入门:C语言中数据的储存(上)

    How Data is stored in computer memory? 储存数据是计算机进行各种数据操作的基础,为了理解计算机可以对哪些数据进行怎样的操作,有必要了解数据在计算机中的储存方式. ...

  9. vb 导出整数 科学计数法_可整数组的计数

    vb 导出整数 科学计数法 Problem statement: 问题陈述: Given two positive integer n and m, find how many arrays of s ...

最新文章

  1. 第 4 章 Hypertable
  2. [HDU] 5444.Elven Postman (堆)
  3. 理解Android Binder机制(1/3):驱动篇
  4. Node.js中的回调解析
  5. python ios 坐标点击_python点击鼠标获取坐标(Graphics)
  6. oracle报错:ORA-00054: 资源正忙,要求指定 NOWAIT
  7. springboot添加webmagic_SpringBoot+Solr + webmagic JD商品爬取数据,放入solr中做搜索
  8. 有关centos7 图形化root用户登录
  9. 海量数据处理的 Top K相关问题
  10. argparse及logging的相关用法
  11. Java 线程第三版 第八章 Thread与Collection Class 读书笔记
  12. Git学习的简单笔记
  13. pytorch RuntimeError: expected scalar type Double but found Float
  14. 荣耀30s刷鸿蒙,荣耀终于放出大招!4部荣耀旗舰可升级鸿蒙,网友:终于等到了...
  15. Arduino 测量交流电流
  16. 林期苏曼属性标签编辑_标签制作软件如何制作椭圆形药品标签
  17. 同属开源Linux 移动市场MeeGo独到之秘
  18. 笔记本w ndows未能启动,Windows未能启动原因可能是最近更改了硬件或软件解决方法...
  19. 打开 cmd 的方式
  20. 全球与中国连续光纤激光器市场现状及未来发展趋势

热门文章

  1. TensorFLow one-hot
  2. pandas 散布矩阵
  3. matlab输入excel高版本,『matlab读取excel指定列』excel中大量数据如何导入matlab当中?超过1000个数据无法一个一个输入...
  4. 计算机网络优化是啥,计算机网络优化是什么意思
  5. python壁纸数据抓取_python 多线程爬取壁纸网站的示例
  6. Css学习总结(4)——CSS选择器总结
  7. Jquery学习总结(5)——jQuery选择器
  8. Oracle实例之间的心跳机制,为何而心跳-Oracle Heartbeat研究之二
  9. 阿里云HBase推出全新X-Pack服务 定义HBase云服务新标准...
  10. 使用Oracle 11g新特性 Active Database Duplication 搭建Dataguard环境