递归计算x^n

  简单的叙述一下,这次的目的是用递归计算X的n次方,要利用n/2来计算

 static double power2(double x,int n)
    {
        // 预先的条件
        assert n>=0:"Boof!";
        //终止条件
        if(n==0){
            return 1;
        }
        //多次使用 所以存在tmp里面减少运算次数,记住n/2 是取整数的运算
        double tmp=power2(x, n/2);
       //判断n奇偶性质
        if(n%2==0)
        {
            return tmp*tmp;
        }
        return tmp*tmp*x;
    }
Comments
Write a Comment