Cod sursa(job #1335375)

Utilizator geo_furduifurdui geo geo_furdui Data 5 februarie 2015 14:30:40
Problema Ridicare la putere in timp logaritmic Scor 10
Compilator cpp Status done
Runda Arhiva educationala Marime 0.43 kb
#include <iostream>
#include<stdio.h>

using namespace std;
FILE *f,*g;

int main()
{
    int i,j,m,p,sol;
    long long n;
    f=fopen("lgput.in","r");
    g=fopen("lgput.out","w");
    fscanf(f,"%lld %d",&n,&p);
    m=1999999973;
    sol=1;
    for(i=0; (1<<i)<=p; i++)
    {
        if(((1<<i) & p)>0)
        {
          sol=sol*n%m;
        }
        n=n*n;
    }
    fprintf(g,"%d",sol);
    return 0;
}