Cod sursa(job #1317126)

Utilizator Miruna_DMiruna Miruna_D Data 14 ianuarie 2015 16:35:46
Problema Ridicare la putere in timp logaritmic Scor 10
Compilator cpp Status done
Runda Arhiva educationala Marime 0.46 kb
#include <iostream>
#include <fstream>
#include <vector>
#define mod 1999999973
using namespace std;
ifstream fin("lgput.in");
ofstream fout("lgput.out");
int n,p,sol;

int ridicare(int n,int p)
{
    n=n%mod;
     if(p==0) return 1;
    if(p==1) return n;

    if(p%2==1)
        ridicare(n*n,p/2);
     else
       n * ridicare(n*n,p-1);

}
int main()
{
        fin>>n>>p;
       sol= ridicare(n,p);

        fout<<sol%mod;
    return 0;
}