#include <iostream>
double power(double x, int y)
{
if (y == 0)
return 1;
else if (y > 0)
return x * power(x, y - 1);
else
return (1 / x) * power(x, y + 1);
}
int main()
{
std::cout << power(2, 5) << std::endl;
std::cout << power(2.5, 3) << std::endl;
std::cout << power(2, -5) << std::endl;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgoKZG91YmxlIHBvd2VyKGRvdWJsZSB4LCBpbnQgeSkKewoJaWYgKHkgPT0gMCkKCQlyZXR1cm4gMTsKCWVsc2UgaWYgKHkgPiAwKQoJCXJldHVybiB4ICogcG93ZXIoeCwgeSAtIDEpOwoJZWxzZQoJCXJldHVybiAoMSAvIHgpICogcG93ZXIoeCwgeSArIDEpOwp9CgppbnQgbWFpbigpIAp7CglzdGQ6OmNvdXQgPDwgcG93ZXIoMiwgNSkgPDwgc3RkOjplbmRsOwoJc3RkOjpjb3V0IDw8IHBvd2VyKDIuNSwgMykgPDwgc3RkOjplbmRsOwoJc3RkOjpjb3V0IDw8IHBvd2VyKDIsIC01KSA8PCBzdGQ6OmVuZGw7Cn0=