Cod sursa(job #2106165)

Utilizator AndreidgDragomir Andrei Valentin Andreidg Data 15 ianuarie 2018 10:22:05
Problema Al k-lea termen Fibonacci Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.98 kb
#include <fstream>
using namespace std;
ifstream f("kfib.in");
ofstream g("kfib.out");
int n;
long long mat[3][3];

void afisareMat(long long a[3][3]){

    for(int i = 1; i<= 2; i++)
    {
        for(int j = 1; j<= 2; j++)
        {
            g<<a[i][j]<<" ";
        }
        g<<"\n";
    }
    g<<"\n";
}

void inmultireMat(long long (&a)[3][3],long long b[3][3]){

    long long c[3][3];

    c[1][1] = a[1][1]*b[1][1] + a[1][2] * b[2][1];
    c[1][2] = a[1][1]*b[1][2] + a[1][2] * b[2][2];
    c[2][1] = a[2][1]*b[1][1] + a[2][2] * b[2][1];
    c[2][2] = a[2][1]*b[1][2] + a[2][2] * b[2][2];

    for(int i = 1; i<=2; i++)
    {
        for(int j = 1; j<=2; j++)
        {
            a[i][j] = c[i][j];
        }
    }
}
int main()
{
    f>>n;
    mat[1][1] = 1;
    mat[1][2] = 1;
    mat[2][1] = 1;
    mat[2][2] = 0;

    afisareMat(mat);
    inmultireMat(mat,mat);
    afisareMat(mat);

    f.close();
    g.close();
    return 0;
}