实现 pow(x, n) ,即计算 x 的 n 次幂函数(即,x^n)
案例超时的C语言写法:
double myPow(double x, int n)
{
double power = 1;
if( n == 0)
{
return 1;
}
else if(n>0)
{
for(int i = 0;i < n ;i++)
{
power = power*x;
}
return power;
}
else if(n<0)
{
for(int i = 0;i < -n ;i++)
{
power = power*x;
}
return 1/power;
}
return 1.0;
}

可以通过的C++写法
double myPow(double x, int n)
{
double power = 1;
if( n == 0)
{
return 1;
}
else if(n>0)
{
for(int i = 0;i < n ;i++)
{
power = power*x;
}
return power;
}
else if(n<0)
{
for(int i = 0;i < -n ;i++)
{
power = power*x;
}
return 1/power;
}
return 1.0;
}
这篇博客介绍了两种C语言和C++实现计算x的n次幂(pow(x, n))的方法,包括对于正、负整数n的处理。然而,案例中的C语言实现可能会导致超时,而C++实现则避免了这个问题。优化的C++代码通过循环计算x的n次幂,并在n为负数时正确地计算1/x的绝对值的n次幂。这展示了如何在处理数学运算时提高效率。
529

被折叠的 条评论
为什么被折叠?



