zoukankan      html  css  js  c++  java
  • 求和(团队题目)

    题目传送门

    首先知道一个斐波那契数列的通式(F_n = frac {1}{sqrt{5}} * ((frac{1+sqrt{5}}{2})^{n+1}-(frac{1-sqrt{5}}{2})^{n+1}))
    二项式定理:((x+y)^n = Sigma_{i=0}^n C^i_nx^iy^{n-i})
    原式S可转化为
    (S = Sigma^n_{i=0}{C_n^i}*F_n)

    =(Sigma^n_{i=0}{C_n^i}*frac {1}{sqrt{5}} * [(frac{1+sqrt{5}}{2})^{n+1}-(frac{1-sqrt{5}}{2})^{n+1}])

    =(frac{1}{sqrt{5}}(Sigma^n_{i=0}{C_n^i}[(frac{1+sqrt{5}}{2})^{n+1}-(frac{1-sqrt{5}}{2})^{n+1})])

    =(frac{1}{sqrt{5}}[(frac{1+sqrt{5}}{2})(frac{3+sqrt{5}}{2})^n)-(frac{1-sqrt{5}}{2})(frac{3-sqrt{5}}{2})^n])(由下文1式和2式推导而来)

    =(frac{1}{sqrt{5}}[(frac{1+sqrt{5}}{2})^{2n+1}-(frac{1-sqrt{5}}{2})^{2n+1}]) (由下文3式和3式推导而来)

    =(F_{2n})

    1式:((frac{1+sqrt{5}}{2}+1)^n*(frac{1+sqrt{5}}{2})=Sigma_{i=0}^n C^i_nfrac{1+(sqrt{5}}{2})^i1^{n-i}=Sigma^n_{i=0}{C_n^i}(frac{1+sqrt{5}}{2})^{n+1})

    2式:((frac{1-sqrt{5}}{2}+1)^n*(frac{1-sqrt{5}}{2})=Sigma_{i=0}^n C^i_nfrac{1-(sqrt{5}}{2})^i1^{n-i}=Sigma^n_{i=0}{C_n^i}(frac{1-sqrt{5}}{2})^{n+1}))

    3式:((frac{1+sqrt{5}}{2})^2=(frac{3+sqrt{5}}{2}))

    4式:((frac{1+sqrt{5}}{2})^2 = (frac{3+sqrt{5}}{2}))

    #include<cstdio>
    #include<cstring>
    #include<iostream>
    
    using namespace std;
    
    int t,n,f[2000005],p = 1000000007;
    
    int main() {
        scanf("%d",&t);
        f[1] = f[0] = 1;
        for(int i = 2;i <= 2000000; i++)
            f[i] = (f[i-2] + f[i-1]) % p;
        while(t--) {
            scanf("%d",&n);
            printf("%d
    ",f[2*n]);
        }
        return 0;
    }
  • 相关阅读:
    酒店预订管理系统
    毕业论文管理系统
    酒店预订管理系统
    闪屏+引导页
    android编程测试
    测试用例
    ER图
    软件工程作业
    毕业论文管理系统
    酒店管理系统
  • 原文地址:https://www.cnblogs.com/lipeiyi520/p/13770222.html
Copyright © 2011-2022 走看看