Cod sursa(job #727811)

Utilizator ajshookZamfir Gabriel ajshook Data 28 martie 2012 12:04:52
Problema Al k-lea termen Fibonacci Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.43 kb
#include<cstdio>
#define mod 666013
using namespace std;
int k;
long long a,b=1,c=1,m,n=1,p=1,x,y,z;
int main()
{
	freopen("kfib.in","r",stdin);
	freopen("kfib.out","w",stdout);
	scanf("%d", &k);
	k-=2;
	for(;k;k/=2)
	{
		if(k%2)
		{
			x=(a*m+b*n)%mod;
			y=(a*n+b*p)%mod;
			z=(b*n+c*p)%mod;
			a=x;
			b=y;
			c=z;
		}
		x=(m*m+n*n)%mod;
		y=(m*n+n*p)%mod;
		z=(n*n+p*p)%mod;
		m=x;
		n=y;
		p=z;
	}
	printf("%lld", c);
	return 0;
}