public static void Main()
var winningChanceFactor = 0;
var oddsResult1 = (int)((winningChanceFactor + 1) * totalTickets);
var (userOddsResult1, totalOddsResult1) = MathUtil.SimplifyFraction(userTickets, oddsResult1);
Console.WriteLine($"{userOddsResult1} in {totalOddsResult1}");
var totalOddsResult2 = Math.Ceiling((decimal)(userTickets + winningChanceFactor) / (decimal)(userTickets - 1));
Console.WriteLine($"1 in {totalOddsResult2}");
public static class MathUtil
public static (int enumerator, int denominator) SimplifyFraction(int enumerator, int denominator)
if (enumerator == 0 || denominator == 0)
return (enumerator, denominator);
BigInteger gcd = BigInteger.GreatestCommonDivisor(enumerator, denominator);
int enumeratorResult = enumerator / (int)gcd;
int denominatorResult = denominator / (int)gcd;
return (enumeratorResult, denominatorResult);