public static int Divide(uint a, uint b) {
var numTwoBsInA = Divide(a, twoB);
var aRemainder = a - (numTwoBsInA * twoB);
var hasSingleB = b <= aRemainder;
return numTwoBsInA * 2 + (hasSingleB ? 1 : 0);
public static void Main()
Console.WriteLine("4 / 2: {0}", Divide(4,2));
Console.WriteLine("100 / 3: {0}", Divide(100,3));
Console.WriteLine("100 / 100: {0}", Divide(100,100));
Console.WriteLine("100 / 101: {0}", Divide(100,101));
Console.WriteLine("50 / 25: {0}", Divide(50,25));
Console.WriteLine("127 / 2: {0}", Divide(127,2));