double Pow(int n, int k)
{
if (k > 0)
return n * Pow(n, k - 1);
else if (k == 0)
return 1;
else
return 1.0 / Pow(n, -k);
}
int main()
{
int n = 0.0;
int k = 0;
scanf("%d %d", &n, &k);
printf("%lf", Pow(n, k));
return 0;
}
之所以设置返回值为double类型是因为当k为负数的时候返回的是小数。