P1720 月落乌啼算钱

在这里插入图片描述

  • 原因是米有输出0.00这个值
#include<iostream>
#include<iomanip>
#include<cmath>
using namespace std;
int main()
{
    int n;cin >> n;
    double f,f1,f2;
    f1 = (1+sqrt(5))/2;
    f2 = (1-sqrt(5))/2;
    for(int i = 1;i < n;i++)
    {
        f1*=(1+sqrt(5))/2;
        f2*=(1-sqrt(5))/2;
    }
    if(n == 0)
        cout <<fixed << setprecision(2) <<  0.00;
        
    else
    {
        cout <<fixed << setprecision(2) <<(f1 - f2)/sqrt(5);
    }
    
}

大佬

原来是斐波那契数列,可以使用滚动数组的思想

#include<iostream>
using namespace std;
long long a=1,b=1,c=0;///因为n<=48,所以大一点
int n,i;
int main()
{
    cin>>n;
    for (i=3;i<=n;i++)
    {///注意了,精彩的 来了!!!
        c=a+b;
        a=b;
        b=c;
    }
    cout<<c<<".00";///".00"是为了符合题意.......
    return 0;
}
发布了395 篇原创文章 · 获赞 52 · 访问量 5万+

猜你喜欢

转载自blog.csdn.net/dghcs18/article/details/104316934