Cod sursa(job #226735)

Utilizator raica_cristiraica dumitru cristian raica_cristi Data 2 decembrie 2008 18:52:08
Problema Ridicare la putere in timp logaritmic Scor 10
Compilator cpp Status done
Runda Arhiva educationala Marime 0.78 kb
#include<fstream>

using namespace std;

ifstream fin ("lgput.in");
ofstream fout ("lgput.out");

int main ()
{
    long long n,i,k,p,val,s;
    fin>>n>>p;
    s=1;
    s=n;
    val=1;
        while(p)
        {
                if(p%2==0)
                {
                          s=(s*s)%1999999973;
                          p/=2;
                          }
                          else
                          if(p!=1)
                {
                          val=(val*s)%1999999973;
                          p-=1;
                          }
                          else
                          {p--;
                          break;}
                }
                s*=val;
                fout<<s;
                return 0;
                }