Pagini recente » Diferente pentru utilizator/tudor06 intre reviziile 84 si 85 | Diferente pentru utilizator/annk intre reviziile 2 si 1 | Profil Tudor06 | Profil Tudor06 | Cod sursa (job #1891999)
#include <stdio.h>
const int modulo = 1999999973;
long long int solve(int x, int n)
{
if (n == 1)
return x % modulo;
if (n % 2 == 0) return solve((1LL * x * x)% modulo, n/2);
if (n % 2 != 0) return (x % modulo * solve((1LL * x * x) % modulo,n/2)) % modulo;
}
int main()
{
long long int x;
unsigned int n;
freopen("lgput.in","r",stdin);
freopen("lgput.out","w",stdout);
scanf("%d %d", &x, &n);
printf("%lld",solve(x,n) % modulo);
return 0;
}