Cod sursa(job #1467283)

Utilizator SilviuIIon Silviu SilviuI Data 3 august 2015 09:58:16
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.61 kb
#include <stdio.h>
#include <iostream>
#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 <limits.h>
#include <algorithm>
#include <deque>
#define nmax 2000010
#define mod 1999999973
using namespace std;
int n;
long long x,sol;
int main() {
freopen("lgput.in","r",stdin);
freopen("lgput.out","w",stdout);
scanf("%d %d",&x,&n); sol=1;
while (n>0) {
    if (n%2==1) sol=(sol*x)%mod;
    x=(x*x)%mod; n/=2;
}
printf("%lld\n",sol);
return 0;
}