Cod sursa(job #728526)
Utilizator | Checiches Marius Owned | Data | 28 martie 2012 19:32:09 |
---|---|---|---|
Problema | Ridicare la putere in timp logaritmic | Scor | 10 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.4 kb |
#include <fstream>
using namespace std;
#define m 1999999973
int put(int b,int p){
int a;
if(p==0) return 1;
if(p==1) return b%m;
if(p%2==0){
a=put(b,p/2)%m;
a=a*a%m;
return a;}
a=b*put(b,p-1);
a=a%m;
return a;}
int main(){
int n,p;
ifstream f("lgput.in");
ofstream g("lgput.out");
f>>n>>p;
int a;
a=put(n,p);
g<<a;
f.close();
g.close();
return 0;}