def making_change(amt: int, coins: list) -> int:
    """Iterative implementation of the making change algorithm.
    
    :param amt (int) : Amount, in cents, to be made into change.
    :param coins (list) : List of coin denominations
    :return (int) : Number of different combinations of change.
    """
    # calc[i] represents the number of ways to get to amount i
    calc = [0] * (amt + 1)

    # 1 way to get zero
    calc[0] = 1

    # Pick all coins one by one and update calc[] values after the
    # index greater than or equal to the value of the picked coin
    for coin_val in coins:
        for j in range(coin_val, amt + 1):
            calc[j] += calc[j - coin_val]

    return calc[amt]