```python
def till_float(amount: int, coins: list) -> list:
    """How many of each coin to hand back, largest coin first."""
    counts = []
    left = amount
    for coin in sorted(coins, reverse=True):
        if left >= coin:
            count = left // coin  # Use integer division to avoid floating point result
            counts.append(count)
            left -= count * coin
        else:
            counts.append(0)
    return counts
```