Cod sursa(job #1454331)

Utilizator SilviuIIon Silviu SilviuI Data 26 iunie 2015 08:29:11
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.62 kb
#include <stdio.h>
#include <cstring>
#include <stdlib.h>
#include <time.h>
#include <bitset>
#include <string>
#include <vector>
#include <math.h>
#include <stack>
#include <queue>
#include <list>
#include <set>
#include <map>
#include <limits.h>
#include <algorithm>
#include <deque>
#define nmax 2000010
#define inf 0x3f3f3f3f
#define mod 1999999973
using namespace std;
long long x,sol=1;
int p;
int main(){
freopen("lgput.in","r",stdin);
freopen("lgput.out","w",stdout);
scanf("%I64d%d",&x,&p);
while (p>0) {
    if (p%2==1) sol=sol*x%mod;
    x=x*x%mod;
    p=p/2;
}
printf("%d",sol);
return 0;
}