码迷,mamicode.com
首页 > 其他好文 > 详细

A.Fibonacci

时间:2019-08-15 20:52:32      阅读:80      评论:0      收藏:0      [点我收藏+]

标签:uid   return   数列   ref   its   code   mes   斐波那契数   log   

技术图片技术图片

本题要先利用斐波那契数列公式,然后很巧妙地利用对数求出前四位

解释转自CSDN博主queuelovestack

关于本题利用欧拉公式的部分

技术图片

 

关于求利用对数求前四位的部分

技术图片

 

 

 

#include<bits/stdc++.h>

using namespace std;

int fib[20];

int main(){
  ios::sync_with_stdio(false);
  // freopen("in.in", "r", stdin);
  fib[0] = 0;
  fib[1] = 1;
  for(int i=2; i<20; i++)
    fib[i] = fib[i-1] + fib[i-2];
  int n=0;
  while(cin >> n){
    if(n<20)
      cout << fib[n] << endl;
    else{
      double num = -0.5*log10(5.0) + n*log10((1.0+sqrt(5.0))/2.0);
      num -= (int)num;
      num = pow(10, num);
      while(num < 1000)
        num *= 10;
      cout << (int)num << endl;
    }
  }
  return 0;
}

 

A.Fibonacci

标签:uid   return   数列   ref   its   code   mes   斐波那契数   log   

原文地址:https://www.cnblogs.com/ssNiper/p/11360338.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!