Skip to Main Content
Blog

Divide Amount into all Denominations in Python

Divide Amount into all Denominations in Python

def main():
	"""
	Calculates the minimum number of denominations required for an amount.
	"""

	amount = int(input("Enter amount: "))

	DENOMINATION = [500, 200, 100, 50, 20, 10, 5, 2, 1]
	counts: dict[int, int] = {}

	# Calculate the required denominations
	for denomination in DENOMINATION:
		units = amount // denomination
		if units > 0:
			counts[denomination] = units
			amount %= denomination

	# Print the required denominations
	for denomination in counts:
		units = counts[denomination]
		print(f"{denomination:3} x {units}")

	# Print the remaining amount
	print(f"{1:3} x {amount}")


if __name__ == "__main__":
	main()