Cod sursa(job #2266874)

Utilizator richard26Francu Richard richard26 Data 22 octombrie 2018 22:11:17
Problema Ridicare la putere in timp logaritmic Scor 10
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.52 kb
#include <bits/stdc++.h>

using namespace std;

ifstream f("lgput.in") ;
ofstream g("lgput.out") ;
int MOD=1999999973 ;
long long put (int n , int 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)*(m%MOD)*(m%MOD) ;
            }
}
int main()
{
    int n , p ;
   f>>n>>p ;
   g<<put(n,p) ;
   return 0 ;
}