Cod sursa(job #2912027)

Utilizator BlaugranasEnal Gemaledin Blaugranas Data 6 iulie 2022 17:30:35
Problema Al k-lea termen Fibonacci Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.39 kb
#include<fstream>
using namespace std;
ifstream F("kfib.in");
ofstream G("kfib.out");
#define N 666013
#define A(a,b,c,d) (((1LL*a*b)%N+(1LL*c*d)%N)%N)
int n,e,f,g,h,u,v,w,z,p,q,r,i;
int main()
{
    for(F>>n,e=h=v=w=z=1,--n;n;n>>=1,p=A(u,u,v,w),q=A(u,v,v,z),r=A(w,u,z,w),z=A(w,v,z,z))
        if(n&1)
            p=A(e,u,f,w),q=A(e,v,f,z),r=A(g,u,h,w),h=A(g,v,h,z),e=p,f=q,g=r;
    return G<<h,0;
}