In: Computer Science
Please use the python and explain.
Also please show python.
Suppose that a cashier owes a customer some change and that the cashier only has quarters, dimes, nickels, and pennies. Write a program the computes the minimum number of coins that the cashier can return. To solve this problem use the greedy algorithm explained below. PROBLEM STATEMENT: Your program should first ask the user for the amount of money he/she is owed (in dollars). You may assume that the user will enter a positive number. It should then print the minimum number of coins with which that amount can be made. Assume that the only coins available are quarters (25 cents), dimes (10 cents), nickels (5 cents), and pennies (1 cent). EXAMPLES: If cashier owes 56 cents (i.e. $0.56) to the customer, the minimum number of coins the cashier can return is 4 (in particular, 2 quarters, 0 dimes, 1 nickel and 1 penny. It is not possible to return 3 or less coins). If cashier owes $1.42 to the customer, the minimum number of coins the customer can return is 9 (in particular 5 quarters, 1 dime, 1 nickel and 2 cents). Thus your program will look like this, for different runs:
Enter the amount you are owed in $: 0.56 The minimum number of coins the cashier can return is: 4
Enter the amount you are owed in $: 1.42 The minimum number of coins the cashier can return is: 9
Enter the amount you are owed in $: 1.00 The minimum number of coins the cashier can return is: 4
I have written the program using PYTHON PROGRAMMING LANGUAGE.
OUTPUT :
CODE :
if(__name__ == "__main__"):
#taking user input
money = float(input("Enter the amount of money he/she is owed (in dollars) : \t"))
print("\nOUTPUT : \n")
#defind the dictionary
dic = {"Quarters":0,"Dimes":0,"Nickels":0,"Pennies":0}
totalcoins = 0
if(money >= 0):
cents = int(money*100)#converting the dollars to cents
while(cents!=0):
if(cents/25 >=1):
cents-=25
dic["Quarters"]+=1
totalcoins+=1
elif(cents/10 >=1):
cents-=10
dic["Dimes"]+=1
totalcoins+=1
elif(cents/5 >=1):
cents-=5
dic["Nickels"]+=1
totalcoins+=1
elif(cents/1 >=1):
cents-=1
dic["Pennies"]+=1
totalcoins+=1
#accessing the item in the dictionary and printing them on the console
for item in dic:
print("{:s} : {:d}".format(item,dic[item]))
#printing the result on the console
print("\nThe minimum number of coins the cashier can return is: {:d}".format(totalcoins))
else:
#in case if the input is invalid
print("INVALID INPUT !!!")
Thanks..