Cod sursa(job #973440)

Utilizator petrutsxMihaela Petruta Gaman petrutsx Data 14 iulie 2013 15:43:42
Problema Al k-lea termen Fibonacci Scor 5
Compilator cpp Status done
Runda Arhiva educationala Marime 0.7 kb
#include<stdio.h>
#define modulo 666013

int main(){
	long long K, i, j;
	long long aux1, aux2, term;
	long long A[3][3], B[3][3];
	FILE *pf, *pg;

	pf = fopen("kfib.in", "r");
	pg = fopen("kfib.out", "w");
	fscanf(pf,"%lld", &K);
	
	for(i = 1; i <= 2; i++)
		for(j = 1; j <= 2; j++)
			if(i == 1 && j == 1)
				A[i][j] = B[i][j] = 0;
			else
				A[i][j] = B[i][j] = 1;

	for(i=1; i<=K-2; i++){
		aux1 = B[2][1] % modulo;
		aux2 = B[2][2] % modulo;
		B[2][1] = (B[2][1] % modulo + B[1][1] % modulo) % modulo;
		B[2][2] = (B[2][2] % modulo + B[1][2] % modulo) % modulo;
		B[1][1] = aux1 % modulo;
		B[1][2] = aux2 % modulo;
	}

	term = B[2][2];

	fprintf(pg, "%lld\n", term);
	fclose(pf);
	fclose(pg);

	return 0;
}