Advertisement
Guest User

Untitled

a guest
Jul 27th, 2017
59
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.44 KB | None | 0 0
  1. target = 200
  2. coins = [1,2,5,10,20,50,100,200]
  3. ways = [1]+[0]*target
  4. for coin in coins:
  5. for i in range(coin,target+1):
  6. ways[i]+=ways[i-coin]
  7. print(ways[target])
  8.  
  9. ways[i]+=ways[i-coin]
  10.  
  11. ways = [1]+[0]*target
  12.  
  13. coinsOptions = [1, 2, 3]
  14. def numberOfWays(target):
  15. if (target < 0):
  16. return 0
  17. elif(target == 0):
  18. return 1
  19. else:
  20. return sum([numberOfWays(target - coin) for coin in coinsOptions])
  21. print numberOfWays(5)
  22.  
  23. target = 5
  24. coins = [1,2,3]
  25. ways = [1]+[0]*target
  26. for coin in coins:
  27. for i in range(coin, target+1):
  28. ways[i]+=ways[i-coin]
  29. print ways[target]
  30.  
  31. /// <summary>
  32. /// We are going to fill the biggest coins one by one.
  33. /// </summary>
  34. /// <param name="n"> the amount of money </param>
  35. public static void MakeChange (int n)
  36. {
  37. int n1, n2, n3; // residual of amount after each coin
  38. int quarter, dime, nickel; // These are number of 25c, 10c, 5c, 1c
  39. for (quarter = n/25; quarter >= 0; quarter--)
  40. {
  41. n1 = n - 25 * quarter;
  42. for (dime = n1/10; dime >= 0; dime--)
  43. {
  44. n2 = n1 - 10 * dime;
  45. for (nickel = n2/5; nickel >= 0 && (n2 - 5*nickel) >= 0; nickel--)
  46. {
  47. n3 = n2 - 5 * nickel;
  48. Console.WriteLine("{0},{1},{2},{3}", quarter, dime, nickel, n3); // n3 becomes the number of cent.
  49. }
  50. }
  51. }
  52. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement