static void Main(string[] args) { CoinChange coinChangeSolver = new CoinChange(); Calculate_MinCoins(coinChangeSolver); Caluclate_NumOfCoinChanges(coinChangeSolver); Console.ReadKey(); }
private static void Caluclate_NumOfCoinChanges(CoinChange coinChangeSolver) { int[] coins2 = { 1, 2, 3 }; int n2 = coins2.Length; int v2 = 4; int num_of_changes_2D = coinChangeSolver.NumberOfCoinChanges_2D(coins2, n2, v2); Console.WriteLine($"Using DP 2D-> Num of coin changes possible for sum: {v2} is : {num_of_changes_2D}"); }
static void Main(string[] args) { int moneyToReturn = 7; int[] coinTypes = { 2, 3, 5 }; CoinChange coinChangeCalculator = new CoinChange(coinTypes); int totalWays = coinChangeCalculator.Start(0, moneyToReturn); Console.WriteLine("Total Ways To Return {0} is {1}.", moneyToReturn, totalWays); Console.ReadKey(); // Hold The Screen }
private static void Calculate_MinCoins(CoinChange coinChangeSolver) { int[] coins = { 9, 6, 5, 1 }; int n = coins.Length; int v = 11; int res_recursive = coinChangeSolver.MinCoins_Recursive(coins, n, v); Console.WriteLine($"Using simple recursion -> Minimum coin change required for sum: {v} is : {res_recursive}"); int res_DP_1D = coinChangeSolver.MinCoins_1D(coins, n, v); Console.WriteLine($"Using DP 1D Array -> Minimum coin change required for sum: {v} is : {res_DP_1D}"); }