采用递归方法计算x的n次方。 **输入格式要求:"%d%d" 提示信息:"x=? n=?" **输出格式要求:"%d**%d=%d\n" 程序运行示例如下: x=? n=?2 8 2**8=256 用c语言
时间: 2023-09-01 09:08:35 浏览: 73
计算x的n次方
好的,下面是代码实现:
```c
#include <stdio.h>
int power(int x, int n) {
if (n == 0) {
return 1;
} else if (n % 2 == 0) {
int temp = power(x, n / 2);
return temp * temp;
} else {
int temp = power(x, (n - 1) / 2);
return x * temp * temp;
}
}
int main() {
int x, n;
printf("x=? n=?");
scanf("%d%d", &x, &n);
printf("%d**%d=%d\n", x, n, power(x, n));
return 0;
}
```
输入格式要求为"%d%d",输出格式要求为"%d**%d=%d\n"。递归函数`power`用于计算x的n次方,如果n为0,则返回1;否则,根据n的奇偶性分别计算x的(n/2)次方或((n-1)/2)次方,然后根据n的奇偶性返回不同的值。在`main`函数中,先读入x和n的值,然后调用`power`函数计算x的n次方并输出结果。
阅读全文