Created
March 1, 2017 19:28
-
-
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)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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("}"); | |
} | |
} | |
} | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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