How to resolve the algorithm Count the coins step by step in the Tcl programming language

Published on 12 May 2024 09:40 PM

How to resolve the algorithm Count the coins step by step in the Tcl programming language

Table of Contents

Problem Statement

There are four types of common coins in   US   currency:

There are six ways to make change for 15 cents:

How many ways are there to make change for a dollar using these common coins?     (1 dollar = 100 cents).

Less common are dollar coins (100 cents);   and very rare are half dollars (50 cents).   With the addition of these two coins, how many ways are there to make change for $1000? (Note:   the answer is larger than   232).

Let's start with the solution:

Step by Step solution about How to resolve the algorithm Count the coins step by step in the Tcl programming language

Source code in the tcl programming language

package require Tcl 8.5

proc makeChange {amount coins} {
    set table [lrepeat [expr {$amount+1}] [lrepeat [llength $coins] {}]]
    lset table 0 [lrepeat [llength $coins] 1]
    for {set i 1} {$i <= $amount} {incr i} {
	for {set j 0} {$j < [llength $coins]} {incr j} {
	    set k [expr {$i - [lindex $coins $j]}]
	    lset table $i $j [expr {
		($k < 0 ? 0 : [lindex $table $k $j]) +
		($j < 1 ? 0 : [lindex $table $i [expr {$j-1}]])
	    }]
	}
    }
    return [lindex $table end end]
}

puts [makeChange 100 {1 5 10 25}]
puts [makeChange 100000 {1 5 10 25 50 100}]
# Making change with the EU coin set:
puts [makeChange 100 {1 2 5 10 20 50 100 200}]
puts [makeChange 100000 {1 2 5 10 20 50 100 200}]


  

You may also check:How to resolve the algorithm Jump anywhere step by step in the C# programming language
You may also check:How to resolve the algorithm Graph colouring step by step in the Go programming language
You may also check:How to resolve the algorithm Sequence: nth number with exactly n divisors step by step in the ALGOL 68 programming language
You may also check:How to resolve the algorithm Bulls and cows step by step in the Smart BASIC programming language
You may also check:How to resolve the algorithm 15 puzzle solver step by step in the Rust programming language