Skip to content

Instantly share code, notes, and snippets.

@Gelio
Created March 1, 2017 19:28
Show Gist options
  • Save Gelio/8e5bbcfcdd7d134ae48b4a57518b1f69 to your computer and use it in GitHub Desktop.
Save Gelio/8e5bbcfcdd7d134ae48b4a57518b1f69 to your computer and use it in GitHub Desktop.
Task 2 from the AiSD 2 class (change calculating) with additional random-generated tests (and the output of my solution)
using System;
namespace ASD
{
abstract class ChangeMakingTestCase : TestCase
{
protected int amount;
protected int[] coins;
protected int? expectedRes;
protected int[] expectedChange;
protected int? res;
protected int[] change;
public ChangeMakingTestCase(double timeLimit, Exception expectedException, int a, int[] c, int[] ec) : base(timeLimit, expectedException)
{
amount = a;
coins = c;
expectedChange = ec;
if (ec == null)
expectedRes = null;
if (ec != null)
{
expectedRes = 0;
foreach (int cc in ec) expectedRes += cc;
}
}
public override void VerifyTestCase(out Result resultCode, out string message)
{
if (res != expectedRes)
{
resultCode = Result.BadResult;
message = string.Format("incorrect result: {0} (expected: {1})", res == null ? "null" : res.ToString(), expectedRes == null ? "null" : expectedRes.ToString());
return;
}
if ((res == null && change != null) || (res != null && change == null))
{
resultCode = Result.BadResult;
message = $"incorrect change table: {change.ElementsToString()} (expected: {expectedChange.ElementsToString()}";
return;
}
resultCode = Result.Success;
message = "OK";
if (res == null) return;
int cc = 0;
int a = 0;
for (int i = 0; i < coins.Length; ++i)
{
if (change[i] < 0)
{
resultCode = Result.BadResult;
message = $"negative coins number: {change.ElementsToString()}";
return;
}
cc += change[i];
a += coins[i] * change[i];
}
if (cc != expectedRes)
{
resultCode = Result.BadResult;
message = $"icorrect coins count: {cc}, {change.ElementsToString()} (expected {expectedRes}, {expectedChange.ElementsToString()})";
return;
}
if (a != amount)
{
resultCode = Result.BadResult;
message = $"icorrect change amount: {a}, {change.ElementsToString()} (expected {amount}, {expectedChange.ElementsToString()})";
return;
}
}
}
class ChangeMakingLimitsTestCase : ChangeMakingTestCase
{
protected int[] limits;
public ChangeMakingLimitsTestCase(double timeLimit, Exception expectedException, int a, int[] c, int[] l, int[] ec)
: base(timeLimit, expectedException, a, c, ec)
{
limits = l;
}
public override void PerformTestCase()
{
res = ChangeMaking.Dynamic(amount, coins, limits, out change);
}
public override void VerifyTestCase(out Result resultCode, out string message)
{
base.VerifyTestCase(out resultCode, out message);
if (message != "OK") return;
resultCode = Result.Success;
message = "OK";
if (res == null) return;
for (int i = 0; i < coins.Length; ++i)
if (change[i] > limits[i])
{
resultCode = Result.BadResult;
message = $"coins limit break: {change.ElementsToString()}";
return;
}
}
}
class ChangeMakingNoLimitsTestCase : ChangeMakingTestCase
{
public ChangeMakingNoLimitsTestCase(double timeLimit, Exception expectedException, int a, int[] c, int[] ec)
: base(timeLimit, expectedException, a, c, ec) { }
public override void PerformTestCase()
{
res = ChangeMaking.NoLimitsDynamic(amount, coins, out change);
}
}
class Lab02
{
static void Main()
{
TestSet changeMakingNoLimits = new TestSet();
changeMakingNoLimits.TestCases.Add(new ChangeMakingNoLimitsTestCase(5, null, 10, new int[] { 5, 1, 2 }, new int[] { 2, 0, 0 }));
changeMakingNoLimits.TestCases.Add(new ChangeMakingNoLimitsTestCase(5, null, 123, new int[] { 1, 2, 5, 10, 20, 50, 100, 200 }, new int[] { 1, 1, 0, 0, 1, 0, 1, 0 }));
changeMakingNoLimits.TestCases.Add(new ChangeMakingNoLimitsTestCase(5, null, 123, new int[] { 2, 5, 10, 20, 50, 100, 200 }, new int[] { 4, 1, 0, 1, 0, 1, 0 }));
changeMakingNoLimits.TestCases.Add(new ChangeMakingNoLimitsTestCase(5, null, 23, new int[] { 1 }, new int[] { 23 }));
changeMakingNoLimits.TestCases.Add(new ChangeMakingNoLimitsTestCase(5, null, 23, new int[] { 2 }, null));
changeMakingNoLimits.TestCases.Add(new ChangeMakingNoLimitsTestCase(5, null, 23, new int[] { 50 }, null));
TestSet changeMakingLimits = new TestSet();
changeMakingLimits.TestCases.Add(new ChangeMakingLimitsTestCase(5, null, 10, new int[] { 5, 1, 2 }, new int[] { 1, 20, 10 }, new int[] { 1, 1, 2 }));
changeMakingLimits.TestCases.Add(new ChangeMakingLimitsTestCase(5, null, 123, new int[] { 1, 2, 5, 10, 20, 50, 100, 200 },
new int[] { 99999, 99999, 99999, 99999, 99999, 99999, 99999, 99999 },
new int[] { 1, 1, 0, 0, 1, 0, 1, 0 }));
changeMakingLimits.TestCases.Add(new ChangeMakingLimitsTestCase(5, null, 123, new int[] { 2, 5, 10, 20, 50, 100, 200 },
new int[] { 99999, 99999, 99999, 99999, 99999, 99999, 99999 },
new int[] { 4, 1, 1, 0, 0, 1, 0 }));
changeMakingLimits.TestCases.Add(new ChangeMakingLimitsTestCase(5, null, 123, new int[] { 1, 2, 5, 10, 20, 50, 100, 200 },
new int[] { 0, 99999, 99999, 99999, 99999, 99999, 99999, 99999 },
new int[] { 0, 4, 1, 1, 0, 0, 1, 0 }));
changeMakingLimits.TestCases.Add(new ChangeMakingLimitsTestCase(5, null, 123, new int[] { 1, 2, 5, 10, 20, 50, 100, 200 },
new int[] { 99999, 99999, 3, 4, 3, 0, 0, 99999 },
new int[] { 0, 4, 3, 4, 3, 0, 0, 0 }));
changeMakingLimits.TestCases.Add(new ChangeMakingLimitsTestCase(5, null, 23, new int[] { 1, 2, 5 },
new int[] { 99999, 99999, 3 },
new int[] { 0, 4, 3 }));
changeMakingLimits.TestCases.Add(new ChangeMakingLimitsTestCase(5, null, 23, new int[] { 5, 1, 2 },
new int[] { 2, 3, 5 },
new int[] { 2, 3, 5 }));
changeMakingLimits.TestCases.Add(new ChangeMakingLimitsTestCase(5, null, 23, new int[] { 5, 5, 1, 2 },
new int[] { 3, 2, 3, 3 },
new int[] { 3, 1, 1, 1 }));
changeMakingLimits.TestCases.Add(new ChangeMakingLimitsTestCase(5, null, 23, new int[] { 2 }, new int[15], null));
changeMakingLimits.TestCases.Add(new ChangeMakingLimitsTestCase(5, null, 23, new int[] { 50 }, new int[1], null));
changeMakingLimits.TestCases.Add(new ChangeMakingLimitsTestCase(5, null, 23, new int[] { 1 }, new int[20], null));
changeMakingLimits.TestCases.Add(new ChangeMakingLimitsTestCase(5, null, 141, new int[] { 2, 137, 65, 35, 30, 9, 123, 81, 71 },
new int[] { 1, 1, 1, 1, 1, 1, 1, 1, 1 },
new int[] { 1, 0, 1, 1, 1, 1, 0, 0, 0 }));
Console.WriteLine("\nChange Making without coins limits");
changeMakingNoLimits.PreformTests(verbose: true, checkTimeLimit: false);
Console.WriteLine("\nChange Making with coins limits");
changeMakingLimits.PreformTests(verbose: true, checkTimeLimit: false);
// Custom tests
int randomSeed = 4;
int testsWithoutLimitsCount = 200,
testsWithLimitsCount = 200,
maxAmount = 100,
maxDenominationCount = 10,
maxDenominationValue = 80;
Random random = new Random(randomSeed);
Console.WriteLine(Environment.NewLine);
Console.WriteLine("Tests without limits");
for (int i = 0; i < testsWithoutLimitsCount; i++)
{
int amount = random.Next() % maxAmount;
int denominationCount = random.Next() % maxDenominationCount;
int[] coins = new int[denominationCount];
for (int j = 0; j < denominationCount; j++)
coins[j] = random.Next() % maxDenominationValue + 1;
int[] change = null;
int? totalChangeCount = ChangeMaking.NoLimitsDynamic(amount, coins, out change);
PrintChange(i + 1, totalChangeCount, change);
}
Console.WriteLine(Environment.NewLine);
Console.WriteLine("Tests with limits");
for (int i=0; i < testsWithLimitsCount; i++)
{
int amount = random.Next() % maxAmount;
int coinCount = random.Next() % maxDenominationCount;
int[] coins = new int[coinCount];
int[] limits = new int[coinCount];
for (int j=0; j < coinCount; j++)
{
coins[j] = random.Next() % maxDenominationCount + 1;
limits[j] = random.Next();
}
int[] change = null;
int? totalChangeCount = ChangeMaking.Dynamic(amount, coins, limits, out change);
PrintChange(i + 1, totalChangeCount, change);
}
}
static void PrintChange(int testNumber, int? totalChangeCount, int[] change)
{
Console.WriteLine("Test {0}: {1} coins", testNumber, totalChangeCount.HasValue ? totalChangeCount.Value : 0);
if (change == null)
Console.WriteLine("no change");
else
{
Console.Write("{");
for (int i = 0; i < change.Length; i++)
{
Console.Write("{0}", change[i]);
if (i < change.Length - 1)
Console.Write(", ");
}
Console.WriteLine("}");
}
}
}
}
Change Making without coins limits
Test 1: OK
Test 2: OK
Test 3: OK
Test 4: OK
Test 5: OK
Test 6: OK
Tests completed
6/ 6 passed - 6 OK, 0 low efficiency
0/ 6 failed - 0 error, 0 exception, 0 timeout
Change Making with coins limits
Test 1: OK
Test 2: OK
Test 3: OK
Test 4: OK
Test 5: OK
Test 6: OK
Test 7: OK
Test 8: OK
Test 9: OK
Test 10: OK
Test 11: OK
Test 12: OK
Tests completed
12/12 passed - 12 OK, 0 low efficiency
0/12 failed - 0 error, 0 exception, 0 timeout
Tests without limits
Test 1: 1 coins
{0, 0, 1, 0, 0, 0, 0, 0, 0}
Test 2: 0 coins
no change
Test 3: 0 coins
no change
Test 4: 0 coins
no change
Test 5: 2 coins
{0, 0, 1, 0, 0, 0, 1, 0}
Test 6: 0 coins
no change
Test 7: 3 coins
{0, 0, 1, 0, 2}
Test 8: 0 coins
no change
Test 9: 6 coins
{0, 5, 1, 0, 0, 0}
Test 10: 5 coins
{0, 2, 3, 0, 0, 0}
Test 11: 0 coins
no change
Test 12: 1 coins
{0, 0, 1, 0}
Test 13: 2 coins
{0, 0, 0, 0, 0, 2, 0}
Test 14: 17 coins
{0, 0, 17, 0, 0}
Test 15: 0 coins
{0, 0, 0, 0, 0, 0}
Test 16: 1 coins
{0, 1, 0}
Test 17: 0 coins
no change
Test 18: 0 coins
no change
Test 19: 0 coins
no change
Test 20: 0 coins
no change
Test 21: 4 coins
{0, 3, 0, 0, 1, 0, 0, 0, 0}
Test 22: 0 coins
no change
Test 23: 0 coins
no change
Test 24: 0 coins
no change
Test 25: 0 coins
no change
Test 26: 0 coins
no change
Test 27: 0 coins
no change
Test 28: 0 coins
no change
Test 29: 0 coins
no change
Test 30: 0 coins
no change
Test 31: 0 coins
no change
Test 32: 0 coins
no change
Test 33: 3 coins
{0, 2, 0, 0, 1, 0, 0, 0}
Test 34: 5 coins
{1, 1, 1, 2}
Test 35: 2 coins
{0, 2, 0, 0, 0, 0, 0, 0}
Test 36: 0 coins
no change
Test 37: 9 coins
{8, 0, 0, 1, 0}
Test 38: 0 coins
no change
Test 39: 2 coins
{1, 1, 0, 0, 0, 0, 0}
Test 40: 0 coins
no change
Test 41: 0 coins
no change
Test 42: 0 coins
no change
Test 43: 2 coins
{0, 1, 1, 0, 0, 0}
Test 44: 0 coins
no change
Test 45: 3 coins
{3, 0, 0, 0, 0, 0}
Test 46: 3 coins
{0, 1, 0, 1, 0, 1, 0, 0, 0}
Test 47: 2 coins
{0, 0, 0, 0, 1, 1, 0}
Test 48: 0 coins
no change
Test 49: 0 coins
no change
Test 50: 0 coins
no change
Test 51: 0 coins
no change
Test 52: 2 coins
{2, 0, 0, 0, 0, 0, 0}
Test 53: 0 coins
no change
Test 54: 3 coins
{2, 0, 0, 0, 1, 0, 0, 0, 0}
Test 55: 0 coins
no change
Test 56: 7 coins
{6, 0, 0, 0, 1}
Test 57: 3 coins
{1, 0, 0, 0, 1, 0, 0, 0, 1}
Test 58: 3 coins
{0, 0, 2, 1, 0, 0, 0}
Test 59: 3 coins
{0, 0, 1, 1, 1, 0}
Test 60: 0 coins
no change
Test 61: 0 coins
no change
Test 62: 0 coins
no change
Test 63: 0 coins
no change
Test 64: 0 coins
no change
Test 65: 0 coins
no change
Test 66: 0 coins
no change
Test 67: 3 coins
{0, 0, 0, 1, 2, 0, 0}
Test 68: 2 coins
{0, 0, 1, 0, 1, 0, 0, 0, 0}
Test 69: 0 coins
no change
Test 70: 0 coins
no change
Test 71: 0 coins
no change
Test 72: 0 coins
no change
Test 73: 0 coins
no change
Test 74: 4 coins
{0, 0, 2, 1, 0, 0, 1}
Test 75: 0 coins
no change
Test 76: 0 coins
no change
Test 77: 4 coins
{0, 0, 0, 0, 3, 0, 1, 0}
Test 78: 4 coins
{0, 0, 4}
Test 79: 1 coins
{0, 0, 0, 0, 1, 0, 0, 0}
Test 80: 0 coins
no change
Test 81: 2 coins
{0, 0, 0, 0, 1, 0, 0, 1}
Test 82: 0 coins
no change
Test 83: 0 coins
no change
Test 84: 7 coins
{1, 0, 2, 4, 0}
Test 85: 0 coins
no change
Test 86: 0 coins
no change
Test 87: 2 coins
{0, 0, 0, 1, 0, 1, 0, 0, 0}
Test 88: 0 coins
{0, 0, 0, 0, 0, 0}
Test 89: 4 coins
{1, 1, 1, 0, 1, 0}
Test 90: 6 coins
{1, 4, 0, 1, 0}
Test 91: 3 coins
{0, 0, 1, 0, 2}
Test 92: 0 coins
no change
Test 93: 0 coins
no change
Test 94: 0 coins
no change
Test 95: 0 coins
no change
Test 96: 1 coins
{0, 0, 0, 0, 0, 1, 0}
Test 97: 0 coins
no change
Test 98: 0 coins
no change
Test 99: 0 coins
no change
Test 100: 0 coins
no change
Test 101: 0 coins
no change
Test 102: 0 coins
no change
Test 103: 0 coins
no change
Test 104: 0 coins
no change
Test 105: 0 coins
no change
Test 106: 0 coins
no change
Test 107: 0 coins
no change
Test 108: 0 coins
no change
Test 109: 0 coins
no change
Test 110: 0 coins
no change
Test 111: 3 coins
{1, 1, 1, 0, 0, 0, 0, 0}
Test 112: 0 coins
no change
Test 113: 3 coins
{0, 0, 2, 0, 0, 1, 0, 0}
Test 114: 0 coins
no change
Test 115: 8 coins
{0, 6, 0, 0, 2}
Test 116: 0 coins
no change
Test 117: 0 coins
no change
Test 118: 3 coins
{0, 0, 2, 0, 0, 1, 0}
Test 119: 0 coins
no change
Test 120: 3 coins
{1, 1, 0, 0, 1, 0}
Test 121: 3 coins
{0, 0, 0, 2, 0, 0, 1}
Test 122: 0 coins
{0}
Test 123: 0 coins
no change
Test 124: 0 coins
no change
Test 125: 0 coins
no change
Test 126: 7 coins
{0, 6, 0, 0, 1}
Test 127: 0 coins
no change
Test 128: 5 coins
{0, 0, 0, 4, 0, 1, 0}
Test 129: 1 coins
{1, 0, 0}
Test 130: 2 coins
{0, 0, 1, 1, 0, 0, 0}
Test 131: 2 coins
{0, 0, 2, 0, 0, 0}
Test 132: 0 coins
no change
Test 133: 1 coins
{0, 0, 0, 0, 0, 0, 0, 0, 1}
Test 134: 28 coins
{0, 0, 0, 28, 0, 0, 0}
Test 135: 3 coins
{0, 0, 2, 0, 0, 1, 0, 0, 0}
Test 136: 3 coins
{0, 0, 0, 0, 1, 2, 0}
Test 137: 0 coins
no change
Test 138: 0 coins
no change
Test 139: 0 coins
no change
Test 140: 0 coins
no change
Test 141: 0 coins
no change
Test 142: 2 coins
{0, 1, 0, 1, 0, 0}
Test 143: 0 coins
no change
Test 144: 1 coins
{1, 0, 0, 0, 0, 0, 0, 0}
Test 145: 0 coins
no change
Test 146: 1 coins
{1, 0, 0, 0, 0, 0, 0}
Test 147: 0 coins
no change
Test 148: 0 coins
no change
Test 149: 0 coins
no change
Test 150: 0 coins
no change
Test 151: 0 coins
no change
Test 152: 0 coins
no change
Test 153: 3 coins
{3, 0, 0, 0, 0, 0, 0, 0, 0}
Test 154: 2 coins
{0, 0, 2, 0, 0, 0}
Test 155: 0 coins
no change
Test 156: 0 coins
no change
Test 157: 0 coins
no change
Test 158: 0 coins
no change
Test 159: 0 coins
no change
Test 160: 0 coins
no change
Test 161: 9 coins
{0, 0, 0, 0, 0, 7, 2, 0, 0}
Test 162: 3 coins
{1, 2, 0, 0, 0, 0, 0}
Test 163: 0 coins
no change
Test 164: 1 coins
{0, 0, 0, 0, 1}
Test 165: 0 coins
no change
Test 166: 0 coins
no change
Test 167: 0 coins
no change
Test 168: 0 coins
no change
Test 169: 2 coins
{0, 0, 1, 1, 0, 0}
Test 170: 0 coins
no change
Test 171: 4 coins
{1, 0, 0, 0, 0, 1, 2}
Test 172: 0 coins
no change
Test 173: 0 coins
no change
Test 174: 0 coins
no change
Test 175: 0 coins
no change
Test 176: 0 coins
no change
Test 177: 8 coins
{0, 6, 2, 0, 0, 0}
Test 178: 0 coins
no change
Test 179: 0 coins
no change
Test 180: 0 coins
no change
Test 181: 9 coins
{1, 7, 0, 0, 1}
Test 182: 0 coins
no change
Test 183: 0 coins
no change
Test 184: 0 coins
no change
Test 185: 3 coins
{2, 0, 0, 1, 0, 0, 0, 0}
Test 186: 0 coins
no change
Test 187: 0 coins
no change
Test 188: 0 coins
no change
Test 189: 3 coins
{0, 3}
Test 190: 2 coins
{2, 0, 0, 0, 0, 0, 0, 0}
Test 191: 0 coins
no change
Test 192: 0 coins
no change
Test 193: 0 coins
no change
Test 194: 3 coins
{0, 1, 0, 0, 0, 1, 1, 0}
Test 195: 0 coins
no change
Test 196: 0 coins
no change
Test 197: 6 coins
{6}
Test 198: 0 coins
no change
Test 199: 3 coins
{2, 1, 0, 0}
Test 200: 0 coins
no change
Tests with limits
Test 1: 1 coins
{0, 0, 0, 0, 1, 0, 0}
Test 2: 8 coins
{5, 3, 0, 0, 0, 0}
Test 3: 1 coins
{1, 0, 0, 0, 0}
Test 4: 2 coins
{2, 0, 0, 0, 0}
Test 5: 2 coins
{1, 0, 1, 0, 0, 0, 0, 0}
Test 6: 3 coins
{0, 0, 0, 0, 0, 3}
Test 7: 9 coins
{4, 0, 5, 0, 0, 0, 0}
Test 8: 4 coins
{0, 1, 3, 0, 0}
Test 9: 2 coins
{0, 1, 0, 0, 1}
Test 10: 0 coins
no change
Test 11: 5 coins
{0, 5, 0, 0, 0, 0, 0, 0, 0}
Test 12: 3 coins
{0, 1, 0, 0, 0, 0, 2, 0}
Test 13: 16 coins
{0, 0, 0, 3, 0, 13, 0, 0}
Test 14: 0 coins
no change
Test 15: 0 coins
no change
Test 16: 3 coins
{0, 0, 0, 3}
Test 17: 0 coins
no change
Test 18: 0 coins
no change
Test 19: 0 coins
no change
Test 20: 4 coins
{0, 2, 0, 2, 0, 0}
Test 21: 3 coins
{3, 0, 0, 0, 0, 0, 0, 0}
Test 22: 5 coins
{0, 4, 1, 0, 0, 0, 0, 0}
Test 23: 6 coins
{2, 4}
Test 24: 0 coins
no change
Test 25: 2 coins
{0, 1, 0, 0, 1, 0, 0}
Test 26: 1 coins
{0, 1, 0, 0, 0, 0}
Test 27: 5 coins
{0, 0, 0, 1, 4, 0, 0, 0}
Test 28: 0 coins
no change
Test 29: 0 coins
no change
Test 30: 8 coins
{6, 2}
Test 31: 1 coins
{0, 0, 0, 1, 0, 0, 0}
Test 32: 3 coins
{3, 0, 0, 0, 0, 0, 0}
Test 33: 9 coins
{0, 1, 1, 7}
Test 34: 5 coins
{0, 0, 0, 5, 0, 0}
Test 35: 0 coins
no change
Test 36: 18 coins
{18}
Test 37: 7 coins
{4, 0, 0, 3, 0, 0, 0, 0, 0}
Test 38: 12 coins
{5, 0, 0, 0, 0, 0, 7}
Test 39: 7 coins
{1, 0, 0, 6, 0, 0}
Test 40: 13 coins
{0, 12, 1, 0}
Test 41: 2 coins
{0, 0, 0, 1, 1}
Test 42: 6 coins
{1, 0, 1, 4}
Test 43: 9 coins
{0, 0, 0, 0, 0, 4, 5}
Test 44: 10 coins
{0, 1, 0, 8, 1}
Test 45: 11 coins
{8, 3}
Test 46: 4 coins
{0, 0, 0, 0, 4, 0, 0, 0}
Test 47: 7 coins
{0, 0, 7, 0, 0, 0}
Test 48: 5 coins
{1, 0, 0, 0, 0, 0, 0, 4, 0}
Test 49: 9 coins
{0, 7, 2, 0, 0, 0, 0, 0, 0}
Test 50: 49 coins
{1, 48}
Test 51: 0 coins
no change
Test 52: 0 coins
no change
Test 53: 4 coins
{2, 1, 0, 0, 1}
Test 54: 1 coins
{0, 0, 0, 1, 0, 0, 0, 0}
Test 55: 2 coins
{0, 1, 0, 0, 1, 0}
Test 56: 9 coins
{8, 0, 0, 0, 0, 0, 0, 0, 1}
Test 57: 4 coins
{0, 1, 3, 0, 0, 0, 0, 0, 0}
Test 58: 6 coins
{0, 6, 0, 0}
Test 59: 10 coins
{0, 3, 7, 0}
Test 60: 0 coins
no change
Test 61: 6 coins
{2, 4, 0, 0, 0, 0}
Test 62: 6 coins
{1, 5, 0}
Test 63: 0 coins
no change
Test 64: 0 coins
no change
Test 65: 4 coins
{1, 2, 0, 0, 0, 1, 0, 0, 0}
Test 66: 2 coins
{1, 1, 0, 0, 0, 0, 0, 0}
Test 67: 2 coins
{0, 0, 0, 2, 0, 0, 0, 0, 0}
Test 68: 0 coins
no change
Test 69: 8 coins
{0, 6, 2}
Test 70: 1 coins
{0, 1, 0, 0, 0, 0}
Test 71: 6 coins
{0, 0, 0, 0, 1, 0, 0, 5, 0}
Test 72: 4 coins
{1, 0, 3, 0, 0, 0, 0, 0, 0}
Test 73: 1 coins
{0, 1, 0, 0}
Test 74: 1 coins
{0, 0, 0, 0, 0, 0, 0, 1, 0}
Test 75: 0 coins
no change
Test 76: 3 coins
{1, 1, 1, 0, 0, 0, 0}
Test 77: 2 coins
{0, 0, 0, 2, 0, 0}
Test 78: 96 coins
{96}
Test 79: 0 coins
no change
Test 80: 6 coins
{6, 0, 0, 0}
Test 81: 5 coins
{0, 4, 0, 0, 0, 0, 1, 0}
Test 82: 29 coins
{29}
Test 83: 3 coins
{1, 2, 0, 0, 0, 0}
Test 84: 0 coins
no change
Test 85: 0 coins
no change
Test 86: 1 coins
{1, 0, 0, 0, 0}
Test 87: 9 coins
{1, 0, 0, 8, 0, 0, 0, 0, 0}
Test 88: 14 coins
{0, 0, 2, 0, 12}
Test 89: 1 coins
{0, 1, 0, 0, 0, 0, 0, 0}
Test 90: 14 coins
{11, 1, 2}
Test 91: 0 coins
no change
Test 92: 7 coins
{0, 0, 0, 0, 0, 7, 0, 0}
Test 93: 6 coins
{2, 0, 0, 1, 3, 0, 0}
Test 94: 4 coins
{3, 1, 0, 0}
Test 95: 0 coins
no change
Test 96: 9 coins
{9, 0, 0, 0, 0, 0}
Test 97: 4 coins
{2, 1, 1}
Test 98: 3 coins
{1, 0, 2, 0, 0, 0, 0}
Test 99: 0 coins
no change
Test 100: 5 coins
{5, 0}
Test 101: 10 coins
{0, 1, 8, 0, 0, 1, 0, 0}
Test 102: 3 coins
{1, 1, 1, 0, 0, 0}
Test 103: 2 coins
{2, 0, 0}
Test 104: 2 coins
{1, 0, 0, 1, 0, 0}
Test 105: 11 coins
{6, 5, 0, 0}
Test 106: 0 coins
no change
Test 107: 0 coins
no change
Test 108: 9 coins
{6, 3}
Test 109: 7 coins
{0, 1, 6}
Test 110: 0 coins
no change
Test 111: 5 coins
{1, 0, 1, 0, 3, 0, 0}
Test 112: 5 coins
{3, 0, 0, 1, 1, 0, 0}
Test 113: 6 coins
{0, 0, 2, 4, 0}
Test 114: 4 coins
{0, 4, 0, 0, 0, 0}
Test 115: 1 coins
{0, 0, 0, 1, 0, 0, 0, 0}
Test 116: 9 coins
{5, 0, 0, 4, 0, 0}
Test 117: 14 coins
{5, 0, 0, 0, 9, 0, 0}
Test 118: 6 coins
{0, 0, 2, 0, 0, 0, 4}
Test 119: 9 coins
{0, 0, 0, 0, 0, 1, 0, 8, 0}
Test 120: 8 coins
{4, 3, 0, 0, 1, 0, 0, 0, 0}
Test 121: 8 coins
{0, 8}
Test 122: 16 coins
{7, 0, 9, 0, 0}
Test 123: 1 coins
{1, 0, 0}
Test 124: 3 coins
{1, 2, 0, 0, 0, 0}
Test 125: 0 coins
no change
Test 126: 0 coins
no change
Test 127: 3 coins
{0, 2, 1, 0}
Test 128: 0 coins
no change
Test 129: 0 coins
{0, 0, 0, 0, 0, 0}
Test 130: 3 coins
{2, 1, 0, 0, 0, 0, 0}
Test 131: 3 coins
{0, 0, 1, 0, 0, 0, 2, 0, 0}
Test 132: 11 coins
{0, 10, 0, 1, 0, 0, 0}
Test 133: 7 coins
{1, 0, 6, 0}
Test 134: 0 coins
no change
Test 135: 19 coins
{2, 17, 0}
Test 136: 2 coins
{0, 0, 1, 0, 0, 1, 0}
Test 137: 7 coins
{0, 5, 2}
Test 138: 11 coins
{11, 0, 0, 0}
Test 139: 8 coins
{1, 7, 0, 0, 0}
Test 140: 15 coins
{14, 1, 0}
Test 141: 7 coins
{0, 2, 5, 0, 0, 0, 0, 0}
Test 142: 0 coins
no change
Test 143: 3 coins
{2, 1, 0, 0, 0}
Test 144: 3 coins
{1, 1, 1}
Test 145: 8 coins
{0, 0, 2, 6, 0, 0, 0}
Test 146: 6 coins
{0, 4, 0, 0, 2, 0, 0}
Test 147: 0 coins
no change
Test 148: 15 coins
{1, 14, 0, 0}
Test 149: 0 coins
no change
Test 150: 10 coins
{1, 9, 0, 0, 0}
Test 151: 4 coins
{1, 1, 0, 2, 0, 0, 0, 0}
Test 152: 3 coins
{3, 0, 0, 0, 0, 0, 0}
Test 153: 4 coins
{0, 4, 0}
Test 154: 0 coins
no change
Test 155: 0 coins
no change
Test 156: 1 coins
{0, 0, 0, 1, 0, 0, 0, 0}
Test 157: 3 coins
{0, 1, 0, 0, 2, 0, 0}
Test 158: 16 coins
{7, 9}
Test 159: 0 coins
no change
Test 160: 1 coins
{1}
Test 161: 3 coins
{0, 2, 1, 0, 0, 0, 0, 0}
Test 162: 5 coins
{0, 0, 4, 1, 0, 0, 0}
Test 163: 11 coins
{0, 0, 0, 11, 0, 0, 0, 0, 0}
Test 164: 6 coins
{2, 4, 0}
Test 165: 13 coins
{1, 11, 0, 1, 0, 0}
Test 166: 5 coins
{1, 0, 3, 0, 0, 0, 0, 1}
Test 167: 3 coins
{0, 0, 1, 2}
Test 168: 9 coins
{0, 7, 0, 2, 0}
Test 169: 0 coins
no change
Test 170: 6 coins
{4, 2, 0, 0, 0}
Test 171: 0 coins
no change
Test 172: 5 coins
{5, 0, 0, 0, 0}
Test 173: 4 coins
{1, 1, 0, 2, 0, 0, 0}
Test 174: 4 coins
{0, 3, 0, 0, 1, 0, 0}
Test 175: 5 coins
{0, 0, 0, 0, 0, 0, 2, 3}
Test 176: 10 coins
{0, 4, 6, 0, 0, 0, 0}
Test 177: 0 coins
no change
Test 178: 0 coins
no change
Test 179: 9 coins
{7, 2, 0, 0, 0}
Test 180: 8 coins
{5, 0, 3, 0, 0, 0, 0, 0}
Test 181: 0 coins
{0, 0, 0, 0}
Test 182: 43 coins
{42, 1, 0, 0, 0}
Test 183: 0 coins
no change
Test 184: 6 coins
{1, 5, 0, 0, 0, 0, 0, 0, 0}
Test 185: 8 coins
{3, 5, 0}
Test 186: 6 coins
{3, 3, 0, 0}
Test 187: 11 coins
{0, 0, 0, 0, 0, 0, 0, 11, 0}
Test 188: 6 coins
{0, 0, 0, 3, 0, 3, 0}
Test 189: 0 coins
no change
Test 190: 0 coins
no change
Test 191: 6 coins
{1, 0, 0, 5}
Test 192: 6 coins
{4, 0, 2, 0, 0, 0, 0, 0, 0}
Test 193: 12 coins
{8, 4, 0}
Test 194: 1 coins
{0, 1, 0, 0, 0}
Test 195: 0 coins
no change
Test 196: 1 coins
{0, 0, 0, 0, 1, 0, 0, 0}
Test 197: 4 coins
{0, 0, 3, 0, 1, 0}
Test 198: 4 coins
{0, 0, 4, 0, 0}
Test 199: 7 coins
{3, 1, 3}
Test 200: 5 coins
{4, 1}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment