Cod sursa(job #1631460)
| Utilizator | Data | 5 martie 2016 16:18:27 | |
|---|---|---|---|
| Problema | Ridicare la putere in timp logaritmic | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.44 kb |
#include <iostream>
#include <cstdio>
#define t 1999999973
using namespace std;
FILE* f=fopen("lgput.in","r");
FILE* g=fopen("lgput.out","w");
unsigned long long int n,p;
unsigned long long int x=1;
void fct()
{
if(n>t)
n%=t;
for(;p;p>>=1)
{
if(p&1)
x=(n*x)%t;
n=(n*n)%t;
}
fprintf(g,"%llu",x);
}
int main()
{
fscanf(f,"%llu%llu",&n,&p);
fct();
return 0;
}
