函数题:求实数的整数次幂(高效递归版)
请编写函数,求任意实数的任意整数次幂。
#### 函数原型
c
double Power(double x, int n);
说明:参数 x 为底数,n 为指数。若参数正确,则函数值为 x 的 n 次幂。若参数不正确,则显示一行错误信息:“不正确的参数!”,函数值为 0。
提示:
- $$x^{100} = x^{50} \cdot x^{50}$$
- $$x^{101} = x^{50} \cdot x^{50} \cdot x$$
- $$0^0$$ 和 $$0^{-2}$$ 无意义
#### 裁判程序
c
#include <stdio.h>
int IsOdd(int number);
int IsEven(int number);
double Power(double x, int n);
int main()
{
double x;
int n;
scanf("%lg%d", &x, &n);
printf("%.8g\n", Power(x, n));
return 0;
}
...(略)...
/* 你提交的代码将被嵌在这里 */
要求:不要调用 pow 等函数,不要使用循环语句。
说明:利用前面作业中编写的 IsOdd 和 IsEven 函数来判断奇数和偶数。
#### 输入样例1
in
0 -2
#### 输出样例1
out
不正确的参数!
0
#### 输入样例2
in
0 5
#### 输出样例2
out
0
#### 输入样例3
in
-5.4 5
#### 输出样例3
out
-4591.6502
#### 输入样例4
in
2.53 -326
#### 输出样例4
out
3.8256928e-132
---
关联习题:判断奇数,判断偶数,求实数的整数次幂(简单递归版)。
answer:若无答案欢迎评论
#### 函数原型
c
double Power(double x, int n);
说明:参数 x 为底数,n 为指数。若参数正确,则函数值为 x 的 n 次幂。若参数不正确,则显示一行错误信息:“不正确的参数!”,函数值为 0。
提示:
- $$x^{100} = x^{50} \cdot x^{50}$$
- $$x^{101} = x^{50} \cdot x^{50} \cdot x$$
- $$0^0$$ 和 $$0^{-2}$$ 无意义
#### 裁判程序
c
#include <stdio.h>
int IsOdd(int number);
int IsEven(int number);
double Power(double x, int n);
int main()
{
double x;
int n;
scanf("%lg%d", &x, &n);
printf("%.8g\n", Power(x, n));
return 0;
}
...(略)...
/* 你提交的代码将被嵌在这里 */
要求:不要调用 pow 等函数,不要使用循环语句。
说明:利用前面作业中编写的 IsOdd 和 IsEven 函数来判断奇数和偶数。
#### 输入样例1
in
0 -2
#### 输出样例1
out
不正确的参数!
0
#### 输入样例2
in
0 5
#### 输出样例2
out
0
#### 输入样例3
in
-5.4 5
#### 输出样例3
out
-4591.6502
#### 输入样例4
in
2.53 -326
#### 输出样例4
out
3.8256928e-132
---
关联习题:判断奇数,判断偶数,求实数的整数次幂(简单递归版)。
answer:若无答案欢迎评论