Pagini recente » Cod sursa (job #3248933) | Cod sursa (job #854142) | Cod sursa (job #1785666) | Cod sursa (job #2964651) | Cod sursa (job #1960039)
#include <iostream>
#include <cstdio>
using namespace std;
FILE *f, *g;
#define fs fscanf
#define fp fprintf
#define mod 1999999973
typedef long long lint;
lint lgput(lint x, lint n)
{
lint p = 1;
/**
while(n)
{
if(n & 1)
{
p*=x;
p%=mod;
n--;
}
x*=x;
x%=mod;
n >>= 1;
}
AICI AM STRICAT BITII, BRE !
*/
for(int i = 0; (1<<i) <= n; i++)
{
if(((1<<i) & n) != 0)
p = (p * x) % mod;
x *= x; x %= mod;
}
///AICI NU AM STRICAT BITII, FA !
return p;
}
int main()
{
lint x, n; ///DECLAR LOCAL PENTRU CA SUNT JMEN
f = fopen("lgput.in", "r");
g = fopen("lgput.out", "w");
fs(f, "%lld%lld", &x, &n);
///TIBE FA NU MAI MECHERES
fp(g, "%lld", lgput(x, n));
///FAI, ASCUCHA ME
return 0;
}