From ce51a2fb1c4f6226843aa2579731e89da1d19b95 Mon Sep 17 00:00:00 2001 From: Swastika Gupta <64654203+Swastyy@users.noreply.github.com> Date: Sat, 31 Jul 2021 15:36:17 +0530 Subject: [PATCH] Update karatsuba_algorithm_for_fast_multiplication.cpp --- ...aratsuba_algorithm_for_fast_multiplication.cpp | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/divide_and_conquer/karatsuba_algorithm_for_fast_multiplication.cpp b/divide_and_conquer/karatsuba_algorithm_for_fast_multiplication.cpp index 68db3ee6a..668e5385f 100644 --- a/divide_and_conquer/karatsuba_algorithm_for_fast_multiplication.cpp +++ b/divide_and_conquer/karatsuba_algorithm_for_fast_multiplication.cpp @@ -39,17 +39,18 @@ std::string addStrings( std::string first, std::string second ) int64_t length = std::max(len1,len2); if (len1 < len2) // make the string lengths equal { - for (int64_t i = 0 ; i < len2 - len1 ; i++) + for (int64_t i = 0 ; i < len2 - len1 ; i++) { first = '0' + first; + } } else if (len1 > len2) { - for (int64_t i = 0 ; i < len1 - len2 ; i++) + for (int64_t i = 0 ; i < len1 - len2 ; i++) { second = '0' + second; + } } int64_t carry = 0; - for (int64_t i = length-1 ; i >= 0 ; i--) - { + for (int64_t i = length-1 ; i >= 0 ; i--) { int64_t firstBit = first.at(i) - '0'; int64_t secondBit = second.at(i) - '0'; @@ -75,13 +76,15 @@ int64_t karatsuba_algorithm(std::string str1, std::string str2) { int64_t n = std::max(len1,len2); if (len1 < len2) { - for (int64_t i = 0 ; i < len2 - len1 ; i++) + for (int64_t i = 0 ; i < len2 - len1 ; i++) { str1 = '0' + str1; + } } else if (len1 > len2) { - for (int64_t i = 0 ; i < len1 - len2 ; i++) + for (int64_t i = 0 ; i < len1 - len2 ; i++) { str2 = '0' + str2; + } } if(n==0) return 0; if(n==1) return (str1[0] - '0')*(str2[0] - '0');