# Pow(x, n)

实现 pow(x, n) ,即计算 x 的 n 次幂函数(即,xn)。

 

示例 1:

输入:x = 2.00000, n = 10
输出:
1024.00000

示例 2:

输入:x = 2.10000, n = 3
输出:
9.26100

示例 3:

输入:x = 2.00000, n = -2
输出:
0.25000
解释:
2-2 = 1/22 = 1/4 = 0.25

 

提示:

以下程序实现了这一功能,请你填补空白处内容: ```cpp #include using namespace std; class Solution { public: double myPow(double x, int n) { if (n == INT_MIN) { double t = dfs(x, -(n / 2)); return 1 / t * 1 / t; } else { ___________________; } } private: double dfs(double x, int n) { if (n == 0) { return 1; } else if (n == 1) { return x; } else { double t = dfs(x, n / 2); return (n % 2) ? (x * t * t) : (t * t); } } }; ``` ## template ```cpp #include using namespace std; class Solution { public: double myPow(double x, int n) { if (n == INT_MIN) { double t = dfs(x, -(n / 2)); return 1 / t * 1 / t; } else { return n < 0 ? 1 / dfs(x, -n) : dfs(x, n); } } private: double dfs(double x, int n) { if (n == 0) { return 1; } else if (n == 1) { return x; } else { double t = dfs(x, n / 2); return (n % 2) ? (x * t * t) : (t * t); } } }; ``` ## 答案 ```cpp return n < 0 ? 1 / dfs(x, -n) : dfs(x, n); ``` ## 选项 ### A ```cpp return n < 0 ? 1 / dfs(x, n) : dfs(x, -n); ``` ### B ```cpp return n < 0 ? dfs(x, -n) : 1 / dfs(x, n); ``` ### C ```cpp return n < 0 ? dfs(x, n) : 1 / dfs(x, -n); ```