Cod sursa(job #1522544)

Utilizator MadalinaDragomirFMI Dragomir Madalina MadalinaDragomir Data 11 noiembrie 2015 20:03:09
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.51 kb
#include <iostream>
#include <fstream>
#include <math.h>
using namespace std;
int m=1999999973;
long long r,N,P;
long long putere(long long a, long long b)
{
    if(b==0)return 1;
    int r=1;
    while(b>1)
    {
        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);
    g<<r;
    return 0;


}