Sunday, April 15, 2012

Program 22ND in C++

PROBLEM STATEMENT :


How to compute A^n where n<1 million

Write code...

SOLUTION :

#include <iostream.h>
#include <cstdio>

using namespace std;

long double power(long double num, long int pow)
{

int flag = pow >=0 ? 0 : 1;

//long double one= 1.0F;
if(flag != 0)
{
pow*=-1;
num=1/(num);
}
if(pow == 0L)
{
return 1;
}
else if(pow == 1L)
{
return num;
}
else if(pow % 2 == 0)
{
return power(num,pow/2)*power(num,pow/2);
}
else
{
return power(num,pow/2)*power(num,pow/2)*num;
}
}
int main()
{

cout<<power(2,12345)<<endl;
cout<<power(2,51)<<endl;
cout<<power('\0','\0')<<endl;
cout<<power(2,0)<<endl;
cout<<power(2,-2);

}


No comments:

Post a Comment