编写一个递归函数求A的b次方,从键盘输入A和b,考虑b>=0和b<0两种情况。
时间: 2024-02-13 19:00:11 浏览: 27
好的,我可以帮您解答这个问题。以下是 Python 代码实现:
```python
def power(base, exponent):
if exponent == 0:
return 1
elif exponent < 0:
return 1 / power(base, -exponent)
else:
return base * power(base, exponent - 1)
a = float(input("请输入底数 A:"))
b = int(input("请输入指数 B:"))
result = power(a, b)
print(f"{a} 的 {b} 次方为:{result}")
```
该函数 `power()` 实现了递归求幂,当指数为 0 时返回 1,当指数为负数时返回 1/底数的指数幂,否则返回底数乘以自身的(指数-1)次幂。在主函数中,从键盘输入底数 A 和指数 B,调用函数 `power()` 求出 A 的 B 次方,并输出结果。
希望能够帮到您!
相关问题
用c语言编写一个递归函数求A的b次方,从键盘输入A和b,考虑b>=0和b<0两种情况。
好的,以下是 C 语言代码实现:
```c
#include <stdio.h>
double power(double base, int exponent);
int main() {
double a;
int b;
printf("请输入底数 A:");
scanf("%lf", &a);
printf("请输入指数 B:");
scanf("%d", &b);
double result = power(a, b);
printf("%.2lf 的 %d 次方为:%.2lf", a, b, result);
return 0;
}
double power(double base, int exponent) {
if (exponent == 0) {
return 1;
} else if (exponent < 0) {
return 1 / power(base, -exponent);
} else {
return base * power(base, exponent - 1);
}
}
```
该函数 `power()` 实现了递归求幂,当指数为 0 时返回 1,当指数为负数时返回 1/底数的指数幂,否则返回底数乘以自身的(指数-1)次幂。在主函数中,从键盘输入底数 A 和指数 B,调用函数 `power()` 求出 A 的 B 次方,并输出结果。
希望能够帮到您!
输入两个正整数a和b,调用函数gcd求a和b最大公约数,
好的,以下是实现该功能的 Python 代码:
```python
def gcd(a, b):
if b == 0:
return a
else:
return gcd(b, a % b)
a = int(input("请输入第一个正整数:"))
b = int(input("请输入第二个正整数:"))
print(f"{a}和{b}的最大公约数为:{gcd(a, b)}")
```
其中,`gcd` 函数采用递归方式实现求最大公约数,当 `b` 为 0 时,返回 `a`;否则,返回 `b` 和 `a % b` 的最大公约数。输入时,使用 `input` 函数获取用户输入的两个正整数,最后使用 `print` 函数输出结果。