LeetCode OJ 之 Pow(x, n) (求x^n)
来源:互联网 发布:淘宝网开网店步骤流程 编辑:程序博客网 时间:2024/05/17 04:48
题目:
Implement pow(x, n).
计算 x^n 。
思路:
1、迭代,二分的时候计算出计算次数。
2、递归, x ^n = x ^(n /2) × x^ (n /2) × x ^(n% 2)
代码1(迭代):
class Solution {public: double pow(double x, int n) { long double result = 1.0; if(n == 0) return 1; int count = 1; int m = abs(n); while(m > 0) { long double tmp = x; for(int i = m / 2; i != 0 ; i /= 2) { count *= 2;//计算次数 tmp *= tmp; } m = m - count; count = 1; result *= tmp; } if(n < 0) result = 1.0 / result; return result; }};
代码2(递归):
class Solution {public: double pow(double x, int n) { if(n == 0) return 1; if(n<0) { n = -n; x = 1/x; } return (n%2 == 0) ? pow(x*x, n/2) : x*pow(x*x, n/2); }};
0 0
- LeetCode OJ 之 Pow(x, n) (求x^n)
- LeetCode OJ:Pow(x, n)
- [LeetCode OJ]Pow(x, n)
- LeetCode OJ Pow(x, n)
- leetcode之Pow(x, n)
- LeetCode 之 Pow(x, n)
- LeetCode之Pow(x, n)
- leetcode之Pow(x, n)
- leetcode 之 Pow(x, n)
- LeetCode之Pow(x, n)
- leetcode之Pow(x, n)
- 求 pow(x, n)
- <LeetCode OJ> 50. Pow(x, n)
- LeetCode OJ 50. Pow(x, n)
- LeetCode: Pow(x, n)
- LeetCode Pow(x,n)
- [Leetcode] Pow(x, n)
- LeetCode: Pow(x, n)
- When is there a CPU or Main Memory Bottleneck?
- android学习路线:如何成长为高级工程师
- C++文件后缀名
- Java内存与垃圾回收调优
- Come up and C++ me some time ~ (chapter 7~11)
- LeetCode OJ 之 Pow(x, n) (求x^n)
- Tomcat中Context元素详解
- Spring 3.x MVC 入门1 -- 图解MVC整体流程
- 比较NHibernate和Entity Framework
- 博客的更新问题
- tomcat启用ssl
- android developer国内镜像
- ubuntu 黑屏 网络解决集合
- Hibernate4 掌控数据库:(二)hibernate逆向出的DAO使用