package com.fishercoder.solutions;

/**
 * Implement pow(x, n).
 */
public class _50 {

    public double myPow(double x, int n) {
        if (n == 0) {
            return 1;
        }
        if (n == Integer.MIN_VALUE) {
            ++n;
            n = -n;
            x = 1 / x;
            return x * x * myPow(x * x, n / 2);
        }
        if (n < 0) {
            n = -n;
            x = 1 / x;
        }
        return (n % 2 == 0) ? myPow(x * x, n / 2) : x * myPow(x * x, n / 2);
    }

}

@@ -33,16 +33,36 @@
 s;%0A%0A/**%0A
+ * 50. Pow(x, n)%0A *%0A
  * Imple
@@ -81,32 +81,176 @@
 n).%0A
- */%0Apublic class _50 %7B%0A%0A
+%0A Example 1:%0A%0A Input: 2.00000, 10%0A Output: 1024.00000%0A%0A Example 2:%0A%0A Input: 2.10000, 3%0A Output: 9.26100%0A */%0Apublic class _50 %7B%0A%0A    public static class Solution1 %7B%0A    
     
@@ -288,32 +288,36 @@
 nt n) %7B%0A        
+  
+  
 if (n == 0) %7B%0A  
@@ -322,24 +322,28 @@
             
+    
 return 1;%0A  
@@ -340,34 +340,42 @@
 turn 1;%0A        
+ 
-%7D%0A
+   %7D%0A    
         if (n ==
@@ -412,13 +412,21 @@
     
+    
 ++n;%0A
+    
     
@@ -445,32 +445,36 @@
 -n;%0A            
+    
 x = 1 / x;%0A     
@@ -460,32 +460,36 @@
      x = 1 / x;%0A
+    
             retu
@@ -528,26 +528,32 @@
         
-%7D%0A
+    %7D%0A  
         
 if (n %3C 
@@ -540,24 +540,26 @@
 %7D%0A          
+  
 if (n %3C 0) %7B
@@ -563,32 +563,36 @@
 ) %7B%0A            
+    
 n = -n;%0A        
@@ -587,32 +587,36 @@
 -n;%0A            
+ 
+   
 x = 1 / x;%0A     
@@ -602,32 +602,36 @@
      x = 1 / x;%0A
+    
         %7D%0A      
@@ -628,24 +628,28 @@
   %7D%0A        
+    
 return (n %25 
@@ -701,21 +701,31 @@
  x, n / 2);%0A
+        %7D%0A
     %7D%0A%0A%7D%0A

refactor 50