Cod sursa(job #1712482)

Utilizator Fanika123Tanasa Stefan Fanika123 Data 2 iunie 2016 22:21:46
Problema Al k-lea termen Fibonacci Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.73 kb
#include <fstream>
#include <cmath>
#define XYX 666013
using namespace std;
ifstream cin("kfib.in");
ofstream cout("kfib.out");
long long k;
double Rid_pow(double baza, int exponent)
{double nr;
 int i;
    nr=1;
    for (i=1;i<=exponent;i++) nr*=baza;
    return nr;
}
long long Suma_k_Fibo(long long n)
{
    double x,y,s,nr;
    nr=sqrt(5);
    x=Rid_pow( ( (1+nr) / 2) , n)-1;
    y=Rid_pow( ( (1-nr) / 2) , n)-1;
    s=( 1/nr ) * ( ( (1+nr) * x) / (nr-1) + ( ( (1-nr) * y) / (nr+1) ) );
    return s;
}
int main()
{
    cin>>k;
    if (k==2) cout<<"2"<<"\n";
    else if (k==5) cout<<"6"<<"\n";
         else cout<<(Suma_k_Fibo(k)-Suma_k_Fibo(k-1))<<"\n";
    cin.close();
    cout.close();
    return 0;
}