From 12935ea408c23872e02a7d87dd78d5dcd3650e21 Mon Sep 17 00:00:00 2001 From: CD Sigma Date: Thu, 26 Jul 2018 21:38:27 -0700 Subject: [PATCH 1/2] Improving Euclidean Algorithm in Swift - created local mutible var 'a'/'b' instead of local mutible var 'A'/'B' - Improved whitespace --- .../code/swift/euclidean_algorithm.swift | 33 ++++++++----------- 1 file changed, 14 insertions(+), 19 deletions(-) diff --git a/contents/euclidean_algorithm/code/swift/euclidean_algorithm.swift b/contents/euclidean_algorithm/code/swift/euclidean_algorithm.swift index b8e938b83..7b43959ad 100644 --- a/contents/euclidean_algorithm/code/swift/euclidean_algorithm.swift +++ b/contents/euclidean_algorithm/code/swift/euclidean_algorithm.swift @@ -1,39 +1,34 @@ func euclidSub(a: Int, b: Int) -> Int { - var A = abs(a) - var B = abs(b) + var a = abs(a) + var b = abs(b) - while (A != B) { - if (A > B) { - A -= B + while (a != b) { + if (a > b) { + a -= b } else { - B -= A + b -= a } } - return A + return a } - func euclidMod(a: Int, b: Int) -> Int { - var A = abs(a); - var B = abs(b); + var a = abs(a); + var b = abs(b); - while (B != 0) { - let temp = B - B = A % B - A = temp + while (b != 0) { + let temp = b + b = a % b + a = temp } - return A + return a } - - - func main() { print(euclidMod(a: 64 * 67, b: 64 * 81)) print(euclidSub(a: 128 * 12, b: 128 * 77)) } - main() From 0e29058da1193e94b3b2314ca21f9c65d8e71ef5 Mon Sep 17 00:00:00 2001 From: CD Sigma Date: Thu, 26 Jul 2018 22:02:20 -0700 Subject: [PATCH 2/2] Updating Swift Code Cutoffs in euclid.md File - Updating to show correct sections in Swift code --- contents/euclidean_algorithm/euclidean_algorithm.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/contents/euclidean_algorithm/euclidean_algorithm.md b/contents/euclidean_algorithm/euclidean_algorithm.md index 707a04236..be29e0534 100644 --- a/contents/euclidean_algorithm/euclidean_algorithm.md +++ b/contents/euclidean_algorithm/euclidean_algorithm.md @@ -28,7 +28,7 @@ The algorithm is a simple way to find the *greatest common divisor* (GCD) of two {% sample lang="go" %} [import:25-38, lang="golang"](code/go/euclidean.go) {% sample lang="swift" %} -[import:1-15, lang="swift"](code/swift/euclidean_algorithm.swift) +[import:1-14, lang="swift"](code/swift/euclidean_algorithm.swift) {% sample lang="matlab" %} [import:3-17, lang="matlab"](code/matlab/euclidean.m) {% endmethod %} @@ -65,7 +65,7 @@ Modern implementations, though, often use the modulus operator (%) like so {% sample lang="go" %} [import:14-23, lang="golang"](code/go/euclidean.go) {% sample lang="swift" %} -[import:17-29, lang="swift"](code/swift/euclidean_algorithm.swift) +[import:16-27, lang="swift"](code/swift/euclidean_algorithm.swift) {% sample lang="matlab" %} [import:19-31, lang="matlab"](code/matlab/euclidean.m) {% endmethod %}