public static void Main()
public static int gcd(int answerNumerator, int answerDenominator)
int x = Math.Abs(answerNumerator);
int y = Math.Abs(answerDenominator);
for (int i = m; i >= 1; i--)
if (x % i == 0 && y % i == 0)
public static void Reduce(int answerNumerator, int answerDenominator)
WriteFraction(answerNumerator, answerDenominator);
int gcdNum = gcd(answerNumerator, answerDenominator);
answerNumerator = answerNumerator / gcdNum;
answerDenominator = answerDenominator / gcdNum;
if (answerDenominator < 0)
answerDenominator = answerDenominator * -1;
answerNumerator = answerNumerator * -1;
throw new InvalidOperationException("Cannot reduce Fraction: " + exp.Message);
WriteFraction(answerNumerator, answerDenominator);
public static void WriteFraction(int answerNumerator, int answerDenominator)
Console.WriteLine(string.Format("{0}/{1}", answerNumerator, answerDenominator));