Results 1 to 8 of 8

Thread: Coin Problem

  1. #1

    Thread Starter
    Fanatic Member steve65's Avatar
    Join Date
    Jun 2000
    Posts
    610

    Coin Problem

    Is there a way to mathmatically figure out how many different combinations of coins it would take to make $0.66 cents? and what those combinations are?

    I was told it would be 93 different combinations.

    Thanks!
    This space for rent...

  2. #2
    PowerPoster beachbum's Avatar
    Join Date
    Jul 2001
    Location
    Wollongong, NSW, Australia
    Posts
    2,274
    The answer is dead easy in Australia... 0 !! No 1 or 2 cent coins here. I guess if u want foreign devils to answer u might want to list ur coin denominations.
    Stuart Laidlaw
    Brightspark Financial Software
    http://www.gstsmartbook.com

  3. #3
    Registered User Nucleus's Avatar
    Join Date
    Apr 2001
    Location
    So that's what you are up to ;)
    Posts
    2,530

    87

    I get 87 if you are in the US and paying someone to open the mail for you:

    Quarters: 2, Nickles: 1, Dimes: 1, Pennies: 1; Counter: 1
    Quarters: 2, Nickles: 1, Dimes: 0, Pennies: 6; Counter: 2
    Quarters: 2, Nickles: 0, Dimes: 3, Pennies: 1; Counter: 3
    Quarters: 2, Nickles: 0, Dimes: 2, Pennies: 6; Counter: 4
    Quarters: 2, Nickles: 0, Dimes: 1, Pennies: 11; Counter: 5
    Quarters: 2, Nickles: 0, Dimes: 0, Pennies: 16; Counter: 6
    Quarters: 1, Nickles: 4, Dimes: 0, Pennies: 1; Counter: 7
    Quarters: 1, Nickles: 3, Dimes: 2, Pennies: 1; Counter: 8
    Quarters: 1, Nickles: 3, Dimes: 1, Pennies: 6; Counter: 9
    Quarters: 1, Nickles: 3, Dimes: 0, Pennies: 11; Counter: 10
    Quarters: 1, Nickles: 2, Dimes: 4, Pennies: 1; Counter: 11
    Quarters: 1, Nickles: 2, Dimes: 3, Pennies: 6; Counter: 12
    Quarters: 1, Nickles: 2, Dimes: 2, Pennies: 11; Counter: 13
    Quarters: 1, Nickles: 2, Dimes: 1, Pennies: 16; Counter: 14
    Quarters: 1, Nickles: 2, Dimes: 0, Pennies: 21; Counter: 15
    Quarters: 1, Nickles: 1, Dimes: 6, Pennies: 1; Counter: 16
    Quarters: 1, Nickles: 1, Dimes: 5, Pennies: 6; Counter: 17
    Quarters: 1, Nickles: 1, Dimes: 4, Pennies: 11; Counter: 18
    Quarters: 1, Nickles: 1, Dimes: 3, Pennies: 16; Counter: 19
    Quarters: 1, Nickles: 1, Dimes: 2, Pennies: 21; Counter: 20
    Quarters: 1, Nickles: 1, Dimes: 1, Pennies: 26; Counter: 21
    Quarters: 1, Nickles: 1, Dimes: 0, Pennies: 31; Counter: 22
    Quarters: 1, Nickles: 0, Dimes: 8, Pennies: 1; Counter: 23
    Quarters: 1, Nickles: 0, Dimes: 7, Pennies: 6; Counter: 24
    Quarters: 1, Nickles: 0, Dimes: 6, Pennies: 11; Counter: 25
    Quarters: 1, Nickles: 0, Dimes: 5, Pennies: 16; Counter: 26
    Quarters: 1, Nickles: 0, Dimes: 4, Pennies: 21; Counter: 27
    Quarters: 1, Nickles: 0, Dimes: 3, Pennies: 26; Counter: 28
    Quarters: 1, Nickles: 0, Dimes: 2, Pennies: 31; Counter: 29
    Quarters: 1, Nickles: 0, Dimes: 1, Pennies: 36; Counter: 30
    Quarters: 1, Nickles: 0, Dimes: 0, Pennies: 41; Counter: 31
    Quarters: 0, Nickles: 6, Dimes: 1, Pennies: 1; Counter: 32
    Quarters: 0, Nickles: 6, Dimes: 0, Pennies: 6; Counter: 33
    Quarters: 0, Nickles: 5, Dimes: 3, Pennies: 1; Counter: 34
    Quarters: 0, Nickles: 5, Dimes: 2, Pennies: 6; Counter: 35
    Quarters: 0, Nickles: 5, Dimes: 1, Pennies: 11; Counter: 36
    Quarters: 0, Nickles: 5, Dimes: 0, Pennies: 16; Counter: 37
    Quarters: 0, Nickles: 4, Dimes: 5, Pennies: 1; Counter: 38
    Quarters: 0, Nickles: 4, Dimes: 4, Pennies: 6; Counter: 39
    Quarters: 0, Nickles: 4, Dimes: 3, Pennies: 11; Counter: 40
    Quarters: 0, Nickles: 4, Dimes: 2, Pennies: 16; Counter: 41
    Quarters: 0, Nickles: 4, Dimes: 1, Pennies: 21; Counter: 42
    Quarters: 0, Nickles: 4, Dimes: 0, Pennies: 26; Counter: 43
    Quarters: 0, Nickles: 3, Dimes: 7, Pennies: 1; Counter: 44
    Quarters: 0, Nickles: 3, Dimes: 6, Pennies: 6; Counter: 45
    Quarters: 0, Nickles: 3, Dimes: 5, Pennies: 11; Counter: 46
    Quarters: 0, Nickles: 3, Dimes: 4, Pennies: 16; Counter: 47
    Quarters: 0, Nickles: 3, Dimes: 3, Pennies: 21; Counter: 48
    Quarters: 0, Nickles: 3, Dimes: 2, Pennies: 26; Counter: 49
    Quarters: 0, Nickles: 3, Dimes: 1, Pennies: 31; Counter: 50
    Quarters: 0, Nickles: 3, Dimes: 0, Pennies: 36; Counter: 51
    Quarters: 0, Nickles: 2, Dimes: 9, Pennies: 1; Counter: 52
    Quarters: 0, Nickles: 2, Dimes: 8, Pennies: 6; Counter: 53
    Quarters: 0, Nickles: 2, Dimes: 7, Pennies: 11; Counter: 54
    Quarters: 0, Nickles: 2, Dimes: 6, Pennies: 16; Counter: 55
    Quarters: 0, Nickles: 2, Dimes: 5, Pennies: 21; Counter: 56
    Quarters: 0, Nickles: 2, Dimes: 4, Pennies: 26; Counter: 57
    Quarters: 0, Nickles: 2, Dimes: 3, Pennies: 31; Counter: 58
    Quarters: 0, Nickles: 2, Dimes: 2, Pennies: 36; Counter: 59
    Quarters: 0, Nickles: 2, Dimes: 1, Pennies: 41; Counter: 60
    Quarters: 0, Nickles: 2, Dimes: 0, Pennies: 46; Counter: 61
    Quarters: 0, Nickles: 1, Dimes: 11, Pennies: 1; Counter: 62
    Quarters: 0, Nickles: 1, Dimes: 10, Pennies: 6; Counter: 63
    Quarters: 0, Nickles: 1, Dimes: 9, Pennies: 11; Counter: 64
    Quarters: 0, Nickles: 1, Dimes: 8, Pennies: 16; Counter: 65
    Quarters: 0, Nickles: 1, Dimes: 7, Pennies: 21; Counter: 66
    Quarters: 0, Nickles: 1, Dimes: 6, Pennies: 26; Counter: 67
    Quarters: 0, Nickles: 1, Dimes: 5, Pennies: 31; Counter: 68
    Quarters: 0, Nickles: 1, Dimes: 4, Pennies: 36; Counter: 69
    Quarters: 0, Nickles: 1, Dimes: 3, Pennies: 41; Counter: 70
    Quarters: 0, Nickles: 1, Dimes: 2, Pennies: 46; Counter: 71
    Quarters: 0, Nickles: 1, Dimes: 1, Pennies: 51; Counter: 72
    Quarters: 0, Nickles: 1, Dimes: 0, Pennies: 56; Counter: 73
    Quarters: 0, Nickles: 0, Dimes: 13, Pennies: 1; Counter: 74
    Quarters: 0, Nickles: 0, Dimes: 12, Pennies: 6; Counter: 75
    Quarters: 0, Nickles: 0, Dimes: 11, Pennies: 11; Counter: 76
    Quarters: 0, Nickles: 0, Dimes: 10, Pennies: 16; Counter: 77
    Quarters: 0, Nickles: 0, Dimes: 9, Pennies: 21; Counter: 78
    Quarters: 0, Nickles: 0, Dimes: 8, Pennies: 26; Counter: 79
    Quarters: 0, Nickles: 0, Dimes: 7, Pennies: 31; Counter: 80
    Quarters: 0, Nickles: 0, Dimes: 6, Pennies: 36; Counter: 81
    Quarters: 0, Nickles: 0, Dimes: 5, Pennies: 41; Counter: 82
    Quarters: 0, Nickles: 0, Dimes: 4, Pennies: 46; Counter: 83
    Quarters: 0, Nickles: 0, Dimes: 3, Pennies: 51; Counter: 84
    Quarters: 0, Nickles: 0, Dimes: 2, Pennies: 56; Counter: 85
    Quarters: 0, Nickles: 0, Dimes: 1, Pennies: 61; Counter: 86
    Quarters: 0, Nickles: 0, Dimes: 0, Pennies: 66; Counter: 87

  4. #4

    Thread Starter
    Fanatic Member steve65's Avatar
    Join Date
    Jun 2000
    Posts
    610
    Thank you for your answer Nucleus. I get the idea now. It looks as though your dimes and nickle labels are backwords. To get the 93 combinations you need to add a half dollar.

    May I ask how you coded this?

    Thanks Again
    This space for rent...

  5. #5
    Registered User Nucleus's Avatar
    Join Date
    Apr 2001
    Location
    So that's what you are up to ;)
    Posts
    2,530
    Here is the function:

    VB Code:
    1. Sub PossibleChange(ByVal amount As Double, Optional quarters& = -1, Optional nickles&, Optional dimes&)
    2.  
    3.     Dim change$
    4.     Static counter&
    5.    
    6.     If quarters = -1 Then
    7.         counter = 0
    8.         quarters = Int(amount / 0.25)
    9.         nickles = Int(((amount - quarters * 0.25) / 0.1) + 0.0000001)
    10.         dimes = Int(((amount - quarters * 0.25 - nickles * 0.1) / 0.05) + 0.0000001)
    11.     End If
    12.    
    13.     counter = counter + 1
    14.     change = change & "Quarters: " & quarters & ", "
    15.     change = change & "Nickles: " & nickles & ", "
    16.     change = change & "Dimes: " & dimes & ", "
    17.     change = change & "Pennies: " & Int(((amount - quarters * 0.25 - nickles * 0.1 - dimes * 0.05) / 0.01) + 0.0000001)
    18.     Debug.Print change; "; Counter: " & counter
    19.    
    20.     If dimes > 0 Then
    21.         dimes = dimes - 1
    22.         Call PossibleChange(amount, quarters, nickles, dimes)
    23.     Else
    24.         If nickles > 0 Then
    25.             nickles = nickles - 1
    26.             dimes = Int(((amount - quarters * 0.25 - nickles * 0.1) / 0.05) + 0.0000001)
    27.             Call PossibleChange(amount, quarters, nickles, dimes)
    28.         Else
    29.             If quarters > 0 Then
    30.                 quarters = quarters - 1
    31.                 nickles = Int(((amount - quarters * 0.25) / 0.1) + 0.0000001)
    32.                 dimes = Int(((amount - quarters * 0.25 - nickles * 0.1) / 0.05) + 0.0000001)
    33.                 Call PossibleChange(amount, quarters, nickles, dimes)
    34.             End If
    35.         End If
    36.     End If
    37.    
    38. End Sub

  6. #6
    Registered User Nucleus's Avatar
    Join Date
    Apr 2001
    Location
    So that's what you are up to ;)
    Posts
    2,530
    You don't have to use recursion. Here is the change if you were in Australia:


    VB Code:
    1. Function PossibleChangeAus(ByVal amnt As Currency)
    2.  
    3. Dim i@, j@, k@, l@, m@, n@, counter&
    4. Dim runningTot1@, runningTot2@, runningTot3@, runningTot4@, runningTot5@, runningTot6@
    5.  
    6. amnt = RoundTo(amnt, 0.05)
    7. Debug.Print amnt
    8.  
    9. i = amnt@ / 2@
    10. For i = Int(i) To 0 Step -1
    11.     runningTot1 = amnt@ - i * 2@
    12.    
    13.     j = runningTot1@ / 1@
    14.     For j = Int(j) To 0 Step -1
    15.         runningTot2 = runningTot1@ - j * 1@
    16.        
    17.         k = runningTot2@ / 0.5@
    18.         For k = Int(k) To 0 Step -1
    19.             runningTot3 = runningTot2@ - k * 0.5@
    20.            
    21.             l = runningTot3@ / 0.2@
    22.             For l = Int(l) To 0 Step -1
    23.                 runningTot4 = runningTot3@ - l * 0.2@
    24.                
    25.                 m = runningTot4@ / 0.1@
    26.                 For m = Int(m) To 0 Step -1
    27.                     runningTot5 = runningTot4@ - m * 0.1@
    28.                            
    29.                     counter = counter + 1
    30.                    
    31.                     n = runningTot5@ / 0.05@
    32.                     Debug.Print "2$: " & i, "1$: " & j, "50c " & k, "20c " & l, _
    33.                         "10c " & m, "5c: " & Fix(n), "Counter:" & counter
    34.                    
    35.                 Next m
    36.                
    37.             Next l
    38.        
    39.         Next k
    40.          
    41.     Next j
    42.  
    43. Next i
    44.  
    45. End Function
    46.  
    47. Function RoundTo(ByVal Number@, ByVal Interval@) As Currency
    48.     RoundTo = Sgn(Number) * (Fix((Abs(Number) + Interval / 2) * (1 / Interval)) / (1 / Interval))
    49. End Function

  7. #7

    Thread Starter
    Fanatic Member steve65's Avatar
    Join Date
    Jun 2000
    Posts
    610
    Thanks!
    This space for rent...

  8. #8
    AbsolutFDM
    Guest
    For US currentcy, do not forget the Half-Dollar coin!

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  



Click Here to Expand Forum to Full Width