#include <iostream>
using namespace std;
bool equal(double a,double b);
double powabs(double a,unsigned int absb);
bool chucuo=false;
double pow(double a,int b)
{
if(equal(a,0)&&b<0) //0的负数次方
{
chucuo=true;
return 0.0;
}
unsigned int absb=(unsigned int)b;
if(b<0)
absb=(unsigned int)(-b);
double result=powabs(a,absb);
if(b<0)
result=1/result;
return result;
}
bool equal(double a,double b)
{
if((a-b>-0.0000001&&a-b<0.0000001))
return true;
else
return false;
}
double powabs(double a,unsigned int absb)
{
double result=1.0;
while(absb)
{
result*=a;
absb--;
}
return result;
}
int main()
{
cout<<pow(5,-1);
return 0;
}