Cod sursa(job #2219127)

Utilizator alexnigaNiga Alexandru alexniga Data 7 iulie 2018 13:21:44
Problema Ridicare la putere in timp logaritmic Scor 10
Compilator cpp Status done
Runda Arhiva educationala Marime 0.6 kb
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("lgput.in");
ofstream g("lgput.out");
long long int RidicareLaPutere(int x,int n)
{
 unsigned long long int p=1;
 while(n>0)
 {
  if (n%2!=0) // n este impar
  {
   p=p*x;
   n--;
  }
 x=x*x;
 n=n>>1; // sau n = n / 2
 }
 return p ;
}
unsigned long long int ridp(int x, int y)
{
   unsigned long long int p=1, i;
    for(i=1;i<=y;i++)
        p*=x;
    return p;
}
int main()
{
    int a,b,c;

    f>>a>>b;

    //cout<<RidicareLaPutere(a,b)<<"\n";//%1999999973
    g<<ridp(a,b)%1999999973;
    return 0;
}