洛谷每日1题-------Day40__P1720 月落乌啼算钱(斐波那契数列)
题目背景
(本道题目木有隐藏歌曲……不用猜了……)
《爱与愁的故事第一弹·heartache》最终章。
吃完 pizza,月落乌啼知道超出自己的预算了。为了不在爱与愁大神面前献丑,只好还是硬着头皮去算钱……
题目描述
算完钱后,月落乌啼想着:“你坑我!”于是当爱与愁大神问多少钱时,月落乌啼说了一堆乱码。爱与愁大神说:“算了算了,我只问第 n 样菜价格多少?”月落乌啼写出了:
Fn=5(21+5)n−(21−5)n
由于爱与愁大神学过编程,于是就用 1 分钟的时间求出了 Fn 的结果。月落乌啼为此大吃一惊。你能学学爱与愁大神求出 Fn 的值吗?
输入格式
一行一个自然数 n。
输出格式
只有 1 行一个实数 Fn,保留两位小数。
输入输出样例
输入 #1复制
6
输出 #1复制
8.00
说明/提示
对于所有数据:0≤n≤48。
题解:
#include<iostream>
#include<cmath>
using namespace std;
int main(){//法一int n;cin>>n;double Fn=0,p=1,q=1;for(int i=n;i>0;i--){p*=(1+sqrt(5))/2;q*=(1-sqrt(5))/2;}Fn=(p-q)/sqrt(5);//Fn=int((Fn*100+0.5)/100);printf("%.2f",Fn);return 0;
}
/*double Fn_(int n){if(n==1||n==2)return 1;else return Fn_(n-2)+Fn_(n-1);
}
int main(){//法二,递归,但n过大会超时,还爆栈....int n;cin>>n;double Fn=0;Fn=Fn_(n);printf("%.2f",Fn);return 0;
}*/