Cod sursa(job #742801)

Utilizator memaxMaxim Smith memax Data 1 mai 2012 16:23:19
Problema Ridicare la putere in timp logaritmic Scor 10
Compilator cpp Status done
Runda Arhiva educationala Marime 0.57 kb
#include <iostream>
#include <fstream>
using namespace std;

int main(){
    ifstream inr ("lgput.in");
    ofstream our ("lgput.out");
    unsigned long n;
    int k,p,m=1999999973;
    inr >> n;
    inr >> p;
    n%=m;
    k=n;
    while(p!=1){
             if(!p%2){
                      n*=n;
                      n%=m;
                      p/=2;
                      }
             else{
                  n*=k;
                  n%=m;
                  p--;                  
                  }
             }
    our << n;
    return 0;
    }