pow函数即为x*X...*x,其中有y个x相乘(x为double类型,y为int类型)
考虑情况:
1.由于在java中当y=0&x=0是结果为任为1,此处做相应处理;
2.当y为负数时结果应为1/result;
3考虑结果很大的情况;
public double pow(double x, int n) { if (x == 0.0 && n == 0) { return 1; } double res = 1.0; int k = n; if (n < 0) { k = -n; } while (k != 0) { if ((k & 1) == 1) { res *= x; } k >>= 1; x *= x; } if (n < 0) { res = 1 / res; } return res; }
时间: 2024-09-30 00:27:22