From 3a35099fed588242015f5c9db252767364b869bf Mon Sep 17 00:00:00 2001 From: Pranay Chauhan <52269813+PranayChauhan2516@users.noreply.github.com> Date: Fri, 1 Oct 2021 11:24:33 +0530 Subject: [PATCH 1/2] Added BinaryExponentiation.java --- DivideAndConquer/BinaryExponentiation.java | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) create mode 100644 DivideAndConquer/BinaryExponentiation.java diff --git a/DivideAndConquer/BinaryExponentiation.java b/DivideAndConquer/BinaryExponentiation.java new file mode 100644 index 000000000000..c9739762dc9a --- /dev/null +++ b/DivideAndConquer/BinaryExponentiation.java @@ -0,0 +1,16 @@ +public class BinaryExponentiation { + + public static void main(String args[]) { + System.out.println(calculatePower(2, 30)); + } + + // Function to calculate x^y + // Time Complexity: O(logn) + public static long calculatePower(long x, long y) { + if (y == 0) return 1 L; + long val = calculatePower(x, y / 2); + val *= val; + if (y % 2 == 1) val *= x; + return val; + } +} From db161b6f9ae6e7d0196a7452a6cd739e60d0f9ab Mon Sep 17 00:00:00 2001 From: Pranay Chauhan <52269813+PranayChauhan2516@users.noreply.github.com> Date: Tue, 5 Oct 2021 10:11:29 +0530 Subject: [PATCH 2/2] Updated the file --- DivideAndConquer/BinaryExponentiation.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/DivideAndConquer/BinaryExponentiation.java b/DivideAndConquer/BinaryExponentiation.java index c9739762dc9a..b5844b8d9b40 100644 --- a/DivideAndConquer/BinaryExponentiation.java +++ b/DivideAndConquer/BinaryExponentiation.java @@ -7,7 +7,7 @@ public static void main(String args[]) { // Function to calculate x^y // Time Complexity: O(logn) public static long calculatePower(long x, long y) { - if (y == 0) return 1 L; + if (y == 0) return 1; long val = calculatePower(x, y / 2); val *= val; if (y % 2 == 1) val *= x;