Cod sursa(job #1846371)

Utilizator bobotheslayerBogdan Zaharia bobotheslayer Data 12 ianuarie 2017 16:51:12
Problema Ridicare la putere in timp logaritmic Scor 30
Compilator cpp Status done
Runda Arhiva educationala Marime 0.54 kb
#include <iostream>
#include <cstdio>
using namespace std;

long long putere (long long n, long long p)
{
    long long p2;
    if (p==0)
    {
        return 1;
    }
    p2=putere(n,p/2)%1999999973;
    if (p%2==0)
        return (p2*p2)%1999999973;
    else
        return (p2*p2*n)%1999999973;
}

int main()
{
    FILE *intrare,*iesire;
    long long n,p,q;
    intrare=fopen("lgput.in","r");
    iesire=fopen("lgput.out","w");
    fscanf(intrare,"%lld%lld",&n,&p);
    q=putere(n,p);
    fprintf(iesire,"%lld",q);
}