Cod sursa(job #977097)
Utilizator | Data | 24 iulie 2013 18:37:58 | |
---|---|---|---|
Problema | Ridicare la putere in timp logaritmic | Scor | 0 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.4 kb |
#include<stdio.h>
using namespace std;
#include<iostream>
long long a,b;
#define N 1999999973
int p;
FILE *f,*g;
int main()
{
f=fopen("igput.in","r");
g=fopen("igput.out","w");
fscanf(f,"%lld%lld",&a,&b);
p=1;
while(b)
{if(b%2==1)
{p=(p*a)%N;
b--;
}
a=(a*a)%N;
b=b/2;
}
cout<<p<<endl;
fprintf(g,"%d",p);
}