编写C++递归函数,计算x的y(y>0)次幂。 main提示: int main() int number, power; long answer; cin >> number; cin >> power; answer = GetPower(number, power); cout << answer << endl; return 0;
时间: 2023-06-24 17:05:47 浏览: 133
下面是一个简单的C++递归函数,用于计算x的y次幂。
```cpp
#include <iostream>
using namespace std;
long GetPower(int x, int y) {
if (y == 0) { // 如果y等于0,直接返回1
return 1;
} else if (y == 1) { // 如果y等于1,直接返回x
return x;
} else { // 如果y大于1,递归计算
return x * GetPower(x, y-1);
}
}
int main() {
int number, power;
long answer;
cin >> number;
cin >> power;
answer = GetPower(number, power);
cout << answer << endl;
return 0;
}
```
在上面的代码中,我们使用了递归函数来计算x的y次幂。如果y等于0,则返回1;如果y等于1,则返回x;如果y大于1,则递归计算x的y-1次幂,并将结果乘以x。最终,我们在main函数中调用GetPower函数,并将结果输出到控制台。
相关问题
请在c++中用递归的方法编写函数void power(float x,int n)来计算x的n次方
好的,下面是用递归的方法编写的C++函数void power(float x,int n)来计算x的n次方的代码:
```c++
#include <iostream>
using namespace std;
float power(float x, int n) {
if (n == 0) return 1;
if (n == 1) return x;
if (n < 0) return power(1.0 / x, -n);
float half = power(x, n / 2);
if (n % 2 == 0) return half * half;
else return half * half * x;
}
int main() {
float x = 2.5;
int n = 3;
cout << x << "的" << n << "次方为:" << power(x, n) << endl;
return 0;
}
```
该函数中,首先判断n是否为0或1,如果是,则直接返回1或x。如果n为负数,则递归调用power(1.0 / x, -n)来计算x的-n次方。如果n为正数,则将n拆分成n/2和n-n/2两个部分,递归调用power(x, n / 2)来计算x的n/2次方,然后根据n的奇偶性返回half * half或half * half * x的结果。
编写一个计算x的y次幂的函数,并且在主函数中输入x y得值
可以使用循环或递归来实现计算x的y次幂的函数。以下是两种实现方式:
使用循环:
```python
def power(x, y):
result = 1
for i in range(y):
result *= x
return result
# 主函数
x = float(input("请输入底数x:"))
y = int(input("请输入指数y:"))
print("{0}的{1}次幂为:{2}".format(x, y, power(x, y)))
```
使用递归:
```python
def power(x, y):
if y == 0:
return 1
elif y % 2 == 0:
return power(x, y/2)**2
else:
return x * power(x, y-1)
# 主函数
x = float(input("请输入底数x:"))
y = int(input("请输入指数y:"))
print("{0}的{1}次幂为:{2}".format(x, y, power(x, y)))
```
在上面的代码中,我们首先从用户处获取输入的底数x和指数y,然后调用power函数计算x的y次幂,并将结果打印输出。其中,使用了两种不同的方法来实现power函数,第一种是使用循环,第二种是使用递归。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://img-home.csdnimg.cn/images/20210720083646.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)