zoukankan      html  css  js  c++  java
  • 再战斐波那契

    A. 再战斐波那契

    单点时限: 1.0 sec

    内存限制: 512 MB

    z 学会了斐波那契和 gcd 后,老师又给他出了个难题,求第N个和第M个斐波那契数的最大公约数,这可难倒了小z ,不过在小z 的再三请求下,老师又告诉他了个条件,gcd(N,M)[1,90]
    可是,笨拙的小z 还是不会,于是请求你帮他解答这个问题。

    已知:

    Fibonacci[i]={i,Fibonacci[i1]+Fibonacci[i2],i<=1i>1

    输入格式

    输入包括 T 组,T[1,10]. 
    接下来 T 行,每行两个整数 N,M, 表示斐波那契的第 N 项和第 M 项,(N,M[1,1018]).

    输出格式

    输出包含 T 行,每行输出一个整数.

    样例

    input
    3
    1 2
    2 3
    3 4
    
    output
    1
    1
    1
    
    思路::毫无思路  就一个公式 __gcd(f(n),f(m))=f(__gcd(n,m));
    ac代码:
    #include<iostream>
    #include<cstdio>
    #include<algorithm>
    using namespace std;
    typedef long long ll;
    ll arr[100];
    int main()
    {
        int t;
        cin>>t;
        for(int i=0;i<=90;i++){
            if(i==0) arr[i]=0;
            else if(i==1) arr[i]=1;
            else arr[i]=arr[i-1]+arr[i-2];
        }
        while(t--){
            ll n,m;
            cin>>n>>m;
            ll s=__gcd(n,m);
            cout<<arr[s]<<endl;
        }
        return 0;
    }
     
  • 相关阅读:
    257. Binary Tree Paths
    324. Wiggle Sort II
    315. Count of Smaller Numbers After Self
    350. Intersection of Two Arrays II
    295. Find Median from Data Stream
    289. Game of Life
    287. Find the Duplicate Number
    279. Perfect Squares
    384. Shuffle an Array
    E
  • 原文地址:https://www.cnblogs.com/Accepting/p/11258687.html
Copyright © 2011-2022 走看看