From 03297c8ea1acfcb825a715e1a8cee1bcfbeb33d6 Mon Sep 17 00:00:00 2001 From: Junth Basnet Date: Tue, 7 May 2019 20:51:00 +0545 Subject: [PATCH 1/7] add-binary-exponentiation --- maths/BinaryExponentiation.py | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 maths/BinaryExponentiation.py diff --git a/maths/BinaryExponentiation.py b/maths/BinaryExponentiation.py new file mode 100644 index 000000000000..2411cd58a76b --- /dev/null +++ b/maths/BinaryExponentiation.py @@ -0,0 +1,25 @@ +#Author : Junth Basnet +#Time Complexity : O(logn) + +def binary_exponentiation(a, n): + + if (n == 0): + return 1 + + elif (n % 2 == 1): + return binary_exponentiation(a, n - 1) * a + + else: + b = binary_exponentiation(a, n / 2) + return b * b + + +try: + base = int(input('Enter Base : ')) + power = int(input("Enter Power : ")) +except ValueError: + print ("Invalid literal for integer") + +result = binary_exponentiation(base, power) +print("{}^({}) : {}".format(base, power, result)) + From 8d89e6d73a95da15b6db0dd61e604df4fe8bade6 Mon Sep 17 00:00:00 2001 From: Junth Basnet Date: Thu, 30 May 2019 19:04:47 +0545 Subject: [PATCH 2/7] Project Euler (Hackerrank) - added --- .../ProjectEuler1-Multiples-of-3-and-5.py | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 Project-Euler(Hackerrank)/ProjectEuler1-Multiples-of-3-and-5.py diff --git a/Project-Euler(Hackerrank)/ProjectEuler1-Multiples-of-3-and-5.py b/Project-Euler(Hackerrank)/ProjectEuler1-Multiples-of-3-and-5.py new file mode 100644 index 000000000000..eee1ab614d1c --- /dev/null +++ b/Project-Euler(Hackerrank)/ProjectEuler1-Multiples-of-3-and-5.py @@ -0,0 +1,19 @@ +# Author : Junth Basnet +""" +https://www.hackerrank.com/contests/projecteuler/challenges/euler001/problem +""" +def S(n): + return (n * (n + 1)) // 2 + +for _ in range(int(input())): + + n = int(input()) + #Sum of natural numbers below the given number + n -= 1 + + result = (S(n // 3) * 3) + (S(n // 5) * 5) - (S(n // 15) * 15) + print(result) + + + + From 22f8af08cd1070116ef15fe1c2463e9c1946bb36 Mon Sep 17 00:00:00 2001 From: Junth Basnet Date: Fri, 31 May 2019 12:11:46 +0545 Subject: [PATCH 3/7] Project Euler from Hackerrank - added --- .../ProjectEuler1-Multiples-of-3-and-5.py | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename {Project-Euler(Hackerrank) => Hackerrank(Project Euler)}/ProjectEuler1-Multiples-of-3-and-5.py (100%) diff --git a/Project-Euler(Hackerrank)/ProjectEuler1-Multiples-of-3-and-5.py b/Hackerrank(Project Euler)/ProjectEuler1-Multiples-of-3-and-5.py similarity index 100% rename from Project-Euler(Hackerrank)/ProjectEuler1-Multiples-of-3-and-5.py rename to Hackerrank(Project Euler)/ProjectEuler1-Multiples-of-3-and-5.py From b1a9e713639ee409fe52ca6d5e255af6e22c9eb9 Mon Sep 17 00:00:00 2001 From: Junth Basnet <25685098+Junth19@users.noreply.github.com> Date: Sat, 1 Jun 2019 08:52:31 +0545 Subject: [PATCH 4/7] Delete ProjectEuler1-Multiples-of-3-and-5.py --- .../ProjectEuler1-Multiples-of-3-and-5.py | 19 ------------------- 1 file changed, 19 deletions(-) delete mode 100644 Hackerrank(Project Euler)/ProjectEuler1-Multiples-of-3-and-5.py diff --git a/Hackerrank(Project Euler)/ProjectEuler1-Multiples-of-3-and-5.py b/Hackerrank(Project Euler)/ProjectEuler1-Multiples-of-3-and-5.py deleted file mode 100644 index eee1ab614d1c..000000000000 --- a/Hackerrank(Project Euler)/ProjectEuler1-Multiples-of-3-and-5.py +++ /dev/null @@ -1,19 +0,0 @@ -# Author : Junth Basnet -""" -https://www.hackerrank.com/contests/projecteuler/challenges/euler001/problem -""" -def S(n): - return (n * (n + 1)) // 2 - -for _ in range(int(input())): - - n = int(input()) - #Sum of natural numbers below the given number - n -= 1 - - result = (S(n // 3) * 3) + (S(n // 5) * 5) - (S(n // 15) * 15) - print(result) - - - - From d28dbd5374f8c3c80aad6f444358d67fa73d6c79 Mon Sep 17 00:00:00 2001 From: Junth Basnet Date: Sat, 1 Jun 2019 08:58:42 +0545 Subject: [PATCH 5/7] Project Euler From Hackerrank - added --- .../ProjectEuler1-Multiples-of-3-and-5.py | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 HackerRank/Project Euler/ProjectEuler1-Multiples-of-3-and-5.py diff --git a/HackerRank/Project Euler/ProjectEuler1-Multiples-of-3-and-5.py b/HackerRank/Project Euler/ProjectEuler1-Multiples-of-3-and-5.py new file mode 100644 index 000000000000..eee1ab614d1c --- /dev/null +++ b/HackerRank/Project Euler/ProjectEuler1-Multiples-of-3-and-5.py @@ -0,0 +1,19 @@ +# Author : Junth Basnet +""" +https://www.hackerrank.com/contests/projecteuler/challenges/euler001/problem +""" +def S(n): + return (n * (n + 1)) // 2 + +for _ in range(int(input())): + + n = int(input()) + #Sum of natural numbers below the given number + n -= 1 + + result = (S(n // 3) * 3) + (S(n // 5) * 5) - (S(n // 15) * 15) + print(result) + + + + From f39cdef29951e779db13bfd51fee04cc8739adb2 Mon Sep 17 00:00:00 2001 From: Junth Basnet Date: Sat, 1 Jun 2019 11:01:42 +0545 Subject: [PATCH 6/7] Quick- sort added --- sorts/QuickSort_MiddlePivot.py | 35 ++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 sorts/QuickSort_MiddlePivot.py diff --git a/sorts/QuickSort_MiddlePivot.py b/sorts/QuickSort_MiddlePivot.py new file mode 100644 index 000000000000..a4f0e20cde5f --- /dev/null +++ b/sorts/QuickSort_MiddlePivot.py @@ -0,0 +1,35 @@ +# Author : Junth Basnet + +""" +Implementation of Quick Sort Algorithm with middle element as pivot element +Time Complexity : O(nlogn) - O(n^2) +""" + +def QuickSortFirst(array): + return QuickSort(array, 0, len(array) - 1) + +def QuickSort(array, left, right): + if left >= right: + return array + pivot = array[(left + right) // 2] + index = Partition(array, left, right, pivot) + QuickSort(array, left, index - 1) + QuickSort(array, index, right) + return array + +def Partition(array, left, right, pivot): + while left <= right: + while array[left] < pivot: + left += 1 + while array[right] > pivot: + right -= 1 + if left <= right: + array[left], array[right] = array[right], array[left] + left += 1 + right -= 1 + return left + +array = [1, 6, 4, 10, 7, 30, 25] +print(array) +sorted_array = QuickSortFirst(array) +print(sorted_array) \ No newline at end of file From 6b164846c0d7114ea1df6a3d9cef2dac4f4a896b Mon Sep 17 00:00:00 2001 From: Christian Clauss Date: Sun, 1 Dec 2019 05:46:24 +0100 Subject: [PATCH 7/7] Delete BinaryExponentiation.py --- maths/BinaryExponentiation.py | 25 ------------------------- 1 file changed, 25 deletions(-) delete mode 100644 maths/BinaryExponentiation.py diff --git a/maths/BinaryExponentiation.py b/maths/BinaryExponentiation.py deleted file mode 100644 index 2411cd58a76b..000000000000 --- a/maths/BinaryExponentiation.py +++ /dev/null @@ -1,25 +0,0 @@ -#Author : Junth Basnet -#Time Complexity : O(logn) - -def binary_exponentiation(a, n): - - if (n == 0): - return 1 - - elif (n % 2 == 1): - return binary_exponentiation(a, n - 1) * a - - else: - b = binary_exponentiation(a, n / 2) - return b * b - - -try: - base = int(input('Enter Base : ')) - power = int(input("Enter Power : ")) -except ValueError: - print ("Invalid literal for integer") - -result = binary_exponentiation(base, power) -print("{}^({}) : {}".format(base, power, result)) -