1.在没有任何数据库函数的情况下,求一个数m开n次方的结果
#include <iostream>
using namespace std;
const double DELTA = 0.000000000001;
/*
递归实现
eg:
myPow(2,3)
myPow(2,1)
myPow(2,0)
*/
double myPow(double x, int n)
{
if (n == 0)
return 1.0;
double tmp = myPow(x, n / 2);
if (n % 2)
return n < 0 ? 1 / x*tmp*tmp : x*tmp*tmp;
else
return tmp*tmp;
}
/*
x^n = m
*/
double Newton(double m, int n, double delta)
{
if(m <=0 || n <= 0)
{
return 0;
}
double x0 = 1;
double x1 = ((n-1)+m) / n;//只是给一个初始值而已
while((-delta >= (x1-x0)) || ((x1-x0) >= delta))
{