Cod sursa(job #2042459)

Utilizator mirunafrancescaMiruna mirunafrancesca Data 18 octombrie 2017 17:28:28
Problema Al k-lea termen Fibonacci Scor 5
Compilator cpp Status done
Runda Arhiva educationala Marime 0.72 kb
#include <iostream>
#include <stdio.h>
using namespace std;

#define mod 666013

int k;
long long a[5][5];

void matrice()
{
    long long z[5][5], x, y, s, t;
    z[1][1]=0;
    z[1][2]=z[2][1]=z[2][2]=1;

    for(int i=1; i<=2; i++)
        for(int j=1; j<=2; j++)
            a[i][j]=z[i][j];

    for(int i=1; i<=k-2; i++)
    {
        x=a[1][2]%mod;
        y=(a[1][1]+a[1][2])%mod;
        s=a[2][2]%mod;
        t=(a[2][1]+a[2][2])%mod;

        a[1][1]=x;
        a[1][2]=y;
        a[2][1]=s;
        a[2][2]=t;
    }
}



int main()
{
    freopen("kfib.in", "r", stdin);
    freopen("kfib.out", "w", stdout);

    cin>>k;
    matrice();
    cout<<a[2][2]%mod;


    return 0;
}