列表

详情


NC206649. 斐波那契数列?

描述

众所周知,Fibonacci数列是满足
的数列。
并且它拥有许多良好的性质,例如
又如
再如
现在,有一道题目摆在了Willis的面前,这个问题是:求(其中F_i是Fibonacci数列的第i项。由于Willis还有数学分析,高等代数,解析几何和大学物理的作业要写,所以他把这道题留给了你。

输入描述

一个正整数n()。

输出描述

一个浮点数,表示答案。你的误差的绝对值与答案不能相差超过

示例1

输入:

2

输出:

0.75

说明:

\frac{1}{2}+\frac{1}{4}=0.75

原站题解

上次编辑到这里,代码来自缓存 点击恢复默认模板

C++14(g++5.4) 解法, 执行用时: 18ms, 内存消耗: 600K, 提交时间: 2020-05-30 18:19:06

#include<bits/stdc++.h>
using namespace std;
int main(){
int n;
cin>>n;
double a[160]={0,1};
double ans=0,k=1;
for(int i=1;i<=min(n,150);i++){
	k=k*2;
	ans+=a[i]/k;
	a[i+1]=a[i]+a[i-1];
}
printf("%.11f",ans);
  return 0;
}

C++(clang++ 11.0.1) 解法, 执行用时: 4ms, 内存消耗: 440K, 提交时间: 2022-12-21 23:13:53

#include <bits/stdc++.h>
#define g(n) (pow(0.5+sqrt(5)/2,n)-pow(0.5-sqrt(5)/2,n))/sqrt(5)
using namespace std;
int main(){
    double n;
	cin>>n;
	printf("%.9lf\n",n>200?2:2-(1.5*g(n)+g(n-1))/pow(2,n-1));
    return 0;
}

Python3(3.5.2) 解法, 执行用时: 35ms, 内存消耗: 3424K, 提交时间: 2020-05-30 15:48:31

import math
t=float(input())
a=(-(5+2*math.sqrt(5))/5)*math.pow((1+math.sqrt(5))/4,t)+((-5+2*math.sqrt(5))/5)*math.pow((1-math.sqrt(5))/4,t)+2
print(a)

上一题