Cod sursa(job #1522537)

Utilizator MadalinaDragomirFMI Dragomir Madalina MadalinaDragomir Data 11 noiembrie 2015 19:58:27
Problema Ridicare la putere in timp logaritmic Scor 10
Compilator cpp Status done
Runda Arhiva educationala Marime 0.53 kb
#include <iostream>
#include <fstream>
#include <math.h>
using namespace std;
int m=1999999973;
unsigned int i,N,P;
long long r;
long long putere(long long a, long long b)
{
    if(b==0)return 1;
    long long r=1;
    while(b)
    {
        if(b%2==1)
            {r=(r*a)%m;
            b--;}
        else {
            a=(a*a)%m;
            b=b/2;}
    }
    return (a*r)%m;
}
int main()
{
    ifstream f("lgput.in");
    ofstream g("lgput.out");
    f>>N>>P;
    r=putere(N,P/2);
    g<<r;
    return 0;


}