Cod sursa(job #2266888)

Utilizator richard26Francu Richard richard26 Data 22 octombrie 2018 22:18:57
Problema Ridicare la putere in timp logaritmic Scor 10
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.53 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==0) return n ;
    if(p%2==0) {
        long long m ;
        m = put(n,p/2) ;
        return (m%MOD)*(m%MOD) ;
    }
    if(p%2==1){
        long long m ;
        m = put(n,p/2) ;
        return (n%MOD)*put(n,p-1) ;
            }
}
int main()
{
    long long n , p ;
   f>>n>>p ;
   g<<put(n,p) ;
   return 0 ;
}