Created
January 9, 2019 17:52
-
-
Save seemcat/913ecc0656b8a67cebecfc1c047f9c0f to your computer and use it in GitHub Desktop.
c0d3 solved in Go
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package main | |
import ( | |
"fmt" | |
) | |
// default parameters | |
var list []int | |
var biggerNum int | |
var i int = 1 | |
var max int = 0 | |
var gotBigNum = false | |
func solution8(num1, num2 int) int { | |
// specify biggerNum's default value | |
if num1 > num2 && gotBigNum == false { | |
biggerNum = num1 | |
gotBigNum = true | |
} else if num1 < num2 && gotBigNum == false { | |
biggerNum = num2 | |
gotBigNum = true | |
} | |
// check if i is a potential GCD | |
if num1 % i == 0 && num2 % i == 0 { | |
list = append(list, i) | |
} | |
// our base case | |
if i >= biggerNum { | |
// specify max's default value | |
if max == 0 { | |
max = list[0] | |
} | |
// iterate over array using range | |
for _, value := range list { | |
if value > max { | |
max = value | |
} | |
} | |
return max | |
} | |
i = i + 1 | |
return solution8(num1, num2) | |
} | |
func main() { | |
fmt.Println(solution8(50, 25)) | |
// fmt.Println(solution8(100, 10)) | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Euclidean algorithm