Cod sursa(job #173329)

Utilizator CosminStirbuStirbu Cosmin CosminStirbu Data 7 aprilie 2008 17:28:25
Problema Ridicare la putere in timp logaritmic Scor 10
Compilator cpp Status done
Runda Arhiva educationala Marime 0.38 kb
#include<stdio.h>

long n,p;
const long m=1999999973;

int power ()
  { int r=1;
    while (p>0)
      { if (p%2==1) r=(r*n)%m;
        n=(n*n)%m;
	p/=2;
	}
    return r;
    }
int main ()
 {  FILE*f=fopen("lgput.in","r");
    FILE*g=fopen("lgput.out","w");
    fscanf(f,"%ld%ld",&n,&p);
    fprintf(g,"%d\n",power());
    fcloseall();
    return 0; }