Two Joggers
===

Description
---
Bob and Charles are meeting for their weekly jogging tour. They both start at the same spot called "Start" and they each run a different lap, which may (or may not) vary in length. Since they know each other for a long time already, they both run at the exact same speed.

Illustration
---
Example where Charles (dashed line) runs a shorter lap than Bob:

![Example laps](http://www.haan.lu/files/7713/8338/6140/jogging.png "Example laps")

Task
---
Your job is to complete the function **nbrOfLaps(x, y)** that, given the length of the laps for Bob and Charles, finds the number of laps that each jogger has to complete before they meet each other again, at the same time, at the start.

The function takes two arguments:

1. The length of Bob's lap (larger than 0)
2. The length of Charles' lap (larger than 0)  

The function should return an array (`Tuple` in C#) containing exactly two numbers:

1. The first number is the number of laps that Bob has to run
2. The second number is the number of laps that Charles has to run

Examples:
```python
nbr_of_laps(5, 3) # returns (3, 5)
nbr_of_laps(4, 6) # returns (3, 2)
```

Source: codewars | Difficulty: EASY
Tags: Mathematics

Starter code: def nbr_of_laps(x, y):
	

Solutions:
from fractions import gcd

def nbr_of_laps(x, y):
	return (y / gcd(x, y), x / gcd(x, y))


def nbr_of_laps(x, y):
	for i in range(min(x, y), 0, -1):
		if x % i == 0 and y % i == 0:
			break
	return (y / i, x / i)


from fractions import Fraction

def nbr_of_laps(x, y):
	frac = Fraction(x, y)
	return (frac.denominator, frac.numerator)


from fractions import Fraction as frc

def nbr_of_laps(x, y):
	return (frc(x, y).denominator, frc(x, y).numerator)


def nbr_of_laps(x, y):
	(a, b) = (x, y)
	remain = a % b
	while remain > 0:
		(a, b) = (b, remain)
		remain = a % b
	lcm = x * y / b
	return (lcm / x, lcm / y)


from fractions import gcd

def nbr_of_laps(x, y):
	lcm = x * y / gcd(x, y)
	return (int(lcm / x), int(lcm / y))


def nbr_of_laps(x, y):
	print(x, y)
	if x != y:
		a = round(y * (x / y))
		b = round(x * (y / x))
		if x == a and y == b:
			for i in reversed(range(100)):
				if a % (i + 2) == 0 and b % (i + 2) == 0:
					print(i + 2)
					return (b / (i + 2), a / (i + 2))
			else:
				return (b, a)
	elif x == y:
		return (1, 1)


from math import gcd

def nbr_of_laps(x, y):
	g = gcd(x, y)
	return (y // g, x // g)