Cod sursa(job #2035008)

Utilizator mitza23Mihai Grebla mitza23 Data 8 octombrie 2017 20:16:55
Problema Ridicare la putere in timp logaritmic Scor 10
Compilator cpp Status done
Runda Arhiva educationala Marime 0.63 kb
#include <iostream>
#include <fstream>

using namespace std;

int main()
{
    ifstream f("lgput.in");
    ofstream g("lgput.out");
    int a,b,c=0,rez=1,d=2,cb;
    f>>a>>b;
    cb=b;
    if(b==1){
        rez=a;
    }
    if(b==0)
        rez=1;
    if(b>1){
        while(b>1){
            b=b/2;
            c++;
        }
        rez=a*a;
        //cout<<c<<" c"<<endl;
        for(int i=0;i<c-1;i++){
            rez*=rez;
            d*=2;
        }
        //cout<<d<<" d"<<endl;
        //cout<<cb-d<<" cb-d"<<endl;
        for(int i=0;i<(cb-d);i++){
            rez*=a;
        }
    }
    g<<rez;


}