Cod sursa(job #2646887)

Utilizator anabatAna Batrineanu anabat Data 2 septembrie 2020 12:42:01
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.44 kb
#include <stdio.h>

using namespace std;

#define MOD 1999999973

int main()
{
  FILE *fin,*fout;
  fin=fopen("lgput.in","r");
  fout=fopen("lgput.out","w");

  long long n,p,rez;
  fscanf(fin,"%lld%lld",&n,&p);
  rez=1;
  while(p>0){
    if(p%2==0){
      n=(n*n)%MOD;
      p/=2;
    }
    else{
      rez=(rez*n)%MOD;
      p--;
    }
  }
  fprintf(fout,"%lld",rez);

  fclose(fin);
  fclose(fout);
  return 0;
}