Cod sursa(job #1656386)

Utilizator Aquaryus0Alexandru Benchea Aquaryus0 Data 19 martie 2016 11:38:26
Problema Ridicare la putere in timp logaritmic Scor 10
Compilator cpp Status done
Runda Arhiva educationala Marime 0.54 kb
#include <iostream>
#include <cstdio>
#include <cmath>

using namespace std;

void read(int &n, int &m)
{
    scanf("%d %d", &n, &m);
}

long long int algoritm(int n, int m)
{
    if(m%2==0)
        algoritm(pow(n,2), m/2);
    else if(m==1)
    {
        int rez = (n * m) % 1999999973;
        return rez;
    }
    else
        algoritm(n*(pow(n,2)), (m-1)/2);
}

int main()
{
    freopen("lgput.in", "r", stdin);
    freopen("lgput.out", "w", stdout);
    int n, m;

    read(n, m);
    cout<<algoritm(n, m);

}