Cod sursa(job #2192838)

Utilizator mihnealookmihnea zamfir mihnealook Data 7 aprilie 2018 14:33:23
Problema Al k-lea termen Fibonacci Scor 20
Compilator cpp Status done
Runda Arhiva educationala Marime 0.74 kb
#include <iostream>
#include <fstream>

#define MOD 666013

using namespace std;

ifstream f("kfib.in");
ofstream g("kfib.out");


int main()
{
    long long k, F[2][2], M[2][2], a, b, c, d;
    f >> k;
    k--;
    F[0][0] = 1;
    F[0][1] = 1;
    F[1][0] = 1;
    F[1][1] = 0;
    M[0][0] = 1;
    M[0][1] = 1;
    M[1][0] = 1;
    M[1][1] = 0;
    for (int i = 1; i < k; i++)
    {
        a =  (F[0][0]*M[0][0] + F[0][1]*M[1][0]) % MOD;
        b =  (F[0][0]*M[0][1] + F[0][1]*M[1][1]) % MOD;
        c =  (F[1][0]*M[0][0] + F[1][1]*M[1][0]) % MOD;
        d =  (F[1][0]*M[0][1] + F[1][1]*M[1][1]) % MOD;
        F[0][0] = a;
        F[0][1] = b;
        F[1][0] = c;
        F[1][1] = d;
    }
    g << F[0][0];
}