Cod sursa(job #2266904)

Utilizator richard26Francu Richard richard26 Data 22 octombrie 2018 22:28:37
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.52 kb
#include <bits/stdc++.h>
#define MOD 1999999973
using namespace std;

ifstream f("lgput.in") ;
ofstream g("lgput.out") ;

long long put (long long n , long long p )
{
    if(p==0) return 1 ;
    if(p==1) return n ;
    if(p%2==0) {
        long long m ;
        m = put(n,p/2) ;
        return (m*m)%MOD ;
    }
    if(p%2==1){
        long long m ;
        m = put(n,p/2) ;
        return (n*put(n,p-1))%MOD ;
            }
}
int main()
{
    long long n , p ;
   f>>n>>p ;
   g<<put(n,p) ;
   return 0 ;
}