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