编写递归函数GetPower(int x,int y),计算x的y次幂,并在主程序中实现输入输出。c++
时间: 2024-11-27 17:14:41 浏览: 9
C++实现的一个可以写递归lambda的Y函数
递归函数`GetPower(int x, int y)`是一个经典的算法示例,用于计算一个数的幂,它通过将问题分解成更小的子问题来实现。基本思路是,如果`y`为0,则结果为1(任何数的0次幂都是1)。否则,如果`y`为奇数,那么`x`的`y`次幂等于`x`乘以`GetPower(x, y - 1)`;如果`y`为偶数,就等于`GetPower(x, y / 2) * GetPower(x, y / 2)`。
以下是使用C++编写的函数和主程序:
```cpp
#include <iostream>
// 递归函数,计算x的y次幂
int GetPower(int x, int y) {
if (y == 0)
return 1; // 任何数的0次幂都为1
else if (y % 2 == 0) // 如果y是偶数
return GetPower(x, y / 2) * GetPower(x, y / 2);
else // 如果y是奇数
return x * GetPower(x, y - 1);
}
int main() {
int base, exponent;
std::cout << "请输入底数x: ";
std::cin >> base;
std::cout << "请输入指数y: ";
std::cin >> exponent;
int result = GetPower(base, exponent);
std::cout << "The result of " << base << " to the power of " << exponent << " is: " << result << std::endl;
return 0;
}
```
在这个例子中,用户可以输入他们想要的底数和指数,然后程序会调用`GetPower`函数并显示结果。
阅读全文