public static int CountCandies(int startingAmount, int newEvery)
var diff = (double)startingAmount / Math.Abs(-newEvery + 1);
if (diff == startingAmount)
return (startingAmount * 2) - 1;
var truck = Math.Truncate((diff % 1) * newEvery);
var value = Math.Truncate((diff - (diff % 1)) * newEvery);
var smallDiff = truck == 0 ? -1 : truck;
var maxCandies = (int)(smallDiff + value);
public static void Main(string[] args)
Console.WriteLine(Candies.CountCandies(100, 18));