2022.10.24高效求解x的n次幂。
任务描述
编程要求
测试说明
平台会对你编写的代码进行测试:
测试输入:
1.3 10
预期输出:
1.3的10次方:13.7858
测试输入:
2 3
预期输出:
2的3次方:8
提示:
0≤x≤2
0≤n≤1000
开始你的任务吧,祝你成功!
C++代码
#include <stdio.h>
//计算x^n
double expx(double x, int n)
{
//请在下面编写代码
/*************************Begin*********************/
if(n == 1)
return x;
if(n == 0)
return 1;
else if(n % 2 == 0)
return expx(x, n/2) * expx(x, n/2);
else
return x * expx(x, (n - 1)/2) * expx(x, (n - 1)/2);
/**************************End**********************/
}
//请勿改动下面的代码
int main()
{
double x;
int n;
scanf("%lf", &x);
scanf("%d", &n);
printf("%g的%d次方:%g\n", x, n, expx(x, n));
return 0;
}