diff --git a/other/binary_exponentiation.java b/other/binary_exponentiation.java deleted file mode 100644 index 56461fc81..000000000 --- a/other/binary_exponentiation.java +++ /dev/null @@ -1,77 +0,0 @@ -/** -* Binary Exponentiation -* This is a method to find a^b in a time complexity of O(log b) -* This is one of the most commonly used methods of finding powers. -* Also useful in cases where solution to (a^b)%c is required, -* where a,b,c can be numbers over the computers calculation limits. -*/ - -/** - * @author chinmoy159 - * @version 1.0 dated 10/08/2017 - */ -public class bin_expo -{ - /** - * function :- b_expo (int a, int b) - * returns a^b - */ - public static int b_expo(int a, int b) - { - /* - * iterative solution - */ - int res; - for (res = 1; b > 0; a *=a, b >>= 1) { - if ((b&1) == 1) { - res *= a; - } - } - return res; - /* - * recursive solution - if (b == 0) { - return 1; - } - if (b == 1) { - return a; - } - if ((b & 1) == 1) { - return a * b_expo(a*a, b >> 1); - } else { - return b_expo (a*a, b >> 1); - } - */ - } - /** - * function :- b_expo (long a, long b, long c) - * return (a^b)%c - */ - public static long b_expo(long a, long b, long c) - { - /* - * iterative solution - */ - long res; - for (res = 1l; b > 0; a *=a, b >>= 1) { - if ((b&1) == 1) { - res = ((res%c) * (a%c)) % c; - } - } - return res; - /* - * recursive solution - if (b == 0) { - return 1; - } - if (b == 1) { - return a; - } - if ((b & 1) == 1) { - return ((a%c) * (b_expo(a*a, b >> 1)%c))%c; - } else { - return b_expo (a*a, b >> 1)%c; - } - */ - } -}