leetcode_50_Pow(x, n)
来源:互联网 发布:怎样学好高中政治知乎 编辑:程序博客网 时间:2024/06/05 14:43
版权所有,欢迎转载,转载请注明出处,谢谢
Pow(x, n)
//vs2012测试代码//divide-and-conquer//classic#include<iostream>using namespace std;class Solution {public: double pow(double x, int n) { if( n==0 ) return 1.0; double half; //定义错成int if( n>0 ) { half = pow( x , n/2 ); if( n%2 == 0) return half*half; else return half*half*x; } else if ( n<0 ) { n = -n; //忘记取反 if( x==0 ) return 0.0; else { half = pow( x , n/2 ); if( n%2 == 0) return 1/(half*half); else return 1/(half*half*x); } } }};int main(){double x;int n;cin>>x;cin>>n;Solution lin;cout<<lin.pow(x,n)<<endl;}
//方法一:自测Accepted//divide-and-conquer//classicclass Solution {public: double pow(double x, int n) { if( n==0 ) return 1.0; double half; //定义错成int if( n>0 ) { half = pow( x , n/2 ); if( n%2 == 0) return half*half; else return half*half*x; } else if ( n<0 ) { n = -n; //忘记取反 if( x==0 ) return 0.0; else { half = pow( x , n/2 ); if( n%2 == 0) return 1/(half*half); else return 1/(half*half*x); } } }};
//方法二:其他人class Solution {//divide-and-conquer//classicpublic:double pow(double x, int n) {if (n == 0) return 1.0;// Compute x^{n/2} and store the result into a temporary// variable to avoid unnecessary computingdouble half = pow(x, n / 2);if (n % 2 == 0)return half * half;else if (n > 0)return half * half * x;elsereturn half * half / x;}};
2 0
- leetcode_50_Pow(x, n)
- LeetCode_50_Pow(x, n)
- Pow(x,n) x的n次方
- x^n+1~~~
- x的n次方
- LeetCode: Pow(x, n)
- LeetCode Pow(x,n)
- [Leetcode] Pow(x, n)
- LeetCode: Pow(x, n)
- Leetcode: Pow(x,n)
- leetcode power (x,n)
- [LeetCode] Pow(x, n)
- [Leetcode] Pow(x,n)
- Pow(x, n)
- 【leetcode】Pow(x, n)
- Pow(x, n)
- 求 pow(x, n)
- [LeetCode]Pow(x, n)
- unity3d更改鼠标样式
- 老问题了,关于指针传值的问题
- 根据字符串获取资源id
- 安卓工具类-------->Toast统一管理类
- WinCE输入法 .
- leetcode_50_Pow(x, n)
- sqlite3notfound的解决办法
- liferay6.2 linux环境ext删除与重部署
- 约定优于配置
- 极光推送开发(一)
- 二叉排序树
- 欢迎使用CSDN-markdown编辑器
- 并行程序设计导论 第一章习题
- 安卓工具类------->ToolFor9Ge