-->
当前位置:首页 > Eng > 正文内容

函数题:求实数的整数次幂(高效递归版)

Luz2年前 (2022-11-19)Eng604
请编写函数,求任意实数的任意整数次幂。

#### 函数原型

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:若无答案欢迎评论

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。