File tree Expand file tree Collapse file tree 1 file changed +58
-0
lines changed
Expand file tree Collapse file tree 1 file changed +58
-0
lines changed Original file line number Diff line number Diff line change 1+ #Python program to calculate x raised to the power n (i.e., x^n)
2+
3+ # Script Name : power_of_n.py
4+ # Author : Himanshu Gupta
5+ # Created : 2nd September 2023
6+ # Last Modified :
7+ # Version : 1.0
8+ # Modifications :
9+ # Description : Program which calculates x raised to the power of n, where x can be float number or integer and n can be positive or negative number
10+ # Example 1:
11+
12+ # Input: x = 2.00000, n = 10
13+ # Output: 1024.00000
14+ # Example 2:
15+
16+ # Input: x = 2.10000, n = 3
17+ # Output: 9.26100
18+ # Example 3:
19+
20+ # Input: x = 2.00000, n = -2
21+ # Output: 0.25000
22+ # Explanation: 2^-2 = 1/(2^2) = 1/4 = 0.25
23+
24+ #Class
25+ class Solution :
26+
27+ def binaryExponentiation (self , x : float , n : int ) -> float :
28+ if n == 0 :
29+ return 1
30+
31+ # Handle case where, n < 0.
32+ if n < 0 :
33+ n = - 1 * n
34+ x = 1.0 / x
35+
36+ # Perform Binary Exponentiation.
37+ result = 1
38+ while n != 0 :
39+ # If 'n' is odd we multiply result with 'x' and reduce 'n' by '1'.
40+ if n % 2 == 1 :
41+ result *= x
42+ n -= 1
43+ # We square 'x' and reduce 'n' by half, x^n => (x^2)^(n/2).
44+ x *= x
45+ n //= 2
46+ return result
47+
48+
49+ if __name__ == "main" :
50+ obj = Solution () #Creating object of the class Solution
51+
52+ #Taking inouts from the user
53+ x = float (input ("Enter the base number: " ))
54+ n = int (input ("Enter the power number: " ))
55+
56+ #calling the function using object obj to calculate the power
57+ answer = obj .binaryExponentiation (x , n )
58+ print (answer ) #answer
You can’t perform that action at this time.
0 commit comments