6-3 递归实现指数函数 (15分)

我的未来我决定 提交于 2020-02-27 09:47:37

本题要求实现一个计算pow(x,n) (n≥1)的函数。

函数接口定义:
double calc_pow( double x, int n );

函数calc_pow应返回x的n次幂的值。建议用递归实现。题目保证结果在双精度范围内。

裁判测试程序样例:

#include <stdio.h>
double calc_pow( double x, int n );
int main()
{
    double x;
    int n;
    scanf("%lf %d", &x, &n);
    printf("%.0f\n", calc_pow(x, n));
    return 0;
}

/* 你的代码将被嵌在这里 */

输入样例:
2 3

输出样例:
8

ans

double calc_pow( double x, int n )
{
	double res=1;
	while(n!=0)
	{
		if(n&1)
			res*=x;
		n>>=1;
		x*=x;
	}
	return res;
}
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!