Cod sursa(job #1914271)

Utilizator AndreeaAmzaAndreea Amza AndreeaAmza Data 8 martie 2017 16:14: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 <bitset>
using namespace std;
ifstream f ("lgput.in");
ofstream g ("lgput.out");
unsigned int n,i,j,k,x;
long long m=1999999973;
unsigned int ridlog(unsigned int x,unsigned int n)
{
    if(n==0) return 1;
    else if(n==1) return x%m;
    else if(n%2==0) return ridlog(x*x,n/2)%m;
    else if(n%2==1) return ridlog(x*x,(n-1)/2)%m;

}
int main()
{
    f>>x>>n;
    g<<ridlog(x,n);
    return 0;
}