• 洛谷P1720 月落乌啼算钱


    入门难度的水题,适合各位打表食用。
    别问我为啥做入门难度的题,(因为我懒
    法一:直接根据题意给出的公式模拟即可。
    特殊技巧:使用cmath库中的pow函数,该函数为pow(a,b),返回a的b次方,类型为浮点类型。

    Code:

    #include<iostream>
    #include<cmath>
    #include<cstdio>
    using namespace std;
    int n;
    inline double calc(double n){
    return (pow(((1+sqrt(5))/2),n)-pow(((1-sqrt(5))/2),n))/sqrt(5);
    }
    int main(){
    cin>>n;
    printf("%.2lf",calc(n));
    return 0;
    }

    法二:观察公式。
    分别带入N=1,2,3,4,5发现这就是个斐波那契数列。还是个裸的。
    Code:

    #include<iostream>
    #include<cstdio>
    #include<cmath>
    #define ll long long
    using namespace std;
    int f[10000],n;
    int main(){
        cin>>n;
        f[1]=1;
        f[0]=0;
        for(int i=2;i<=n;i++){
            f[i]=f[i-1]+f[i-2];
        }
        cout<<f[n]<<".00";
        return 0;
    } 

    还没完!你会发现这个代码WA了一个点,这是为什么呢?
    怀疑是不是卡了我double的精度?
    再试试!
    Code:(AC)

    #include<iostream>
    #include<cstdio>
    #include<cmath>
    #define ll long long
    using namespace std;
    double f[10000];
    int n;
    int main(){
        cin>>n;
        f[1]=1;
        f[0]=0;
        for(int i=2;i<=n;i++){
            f[i]=f[i-1]+f[i-2];
        }
        printf("%.2lf",f[n]);
        return 0;
    } 
  • 相关阅读:
    Stock Transfer I
    Negative Stock in "Stock in Transit"
    ZFINDEXITS
    Plan Driven Procurement III: Classic Scenario in SRM 5.0
    C++builder 创建进程之CreateProcess函数
    常用DOS命令
    【转】程序员的几个级别
    几本书
    OOP SOLID原则
    SSRS 使用总结
  • 原文地址:https://www.cnblogs.com/kenlig/p/9824759.html
Copyright © 2020-2023  润新知