bracket: limit percentage ex: brackets = [ { limit: 50k, percentage: 10% }, { limit: 100k, percentage: 15% }, { limit: 150k, percentage: 20% }, { limit: 200k, percentage: 25% }, { limit: 250k, percentage: 30% }, { limit: 300k, percentage: 35% }, { limit: ∞, percentage: 40% }, ] federalTax(taxable, brackets): tax = 0 prevBracketLimit = 0 foreach bracket in brackets: if taxable <= prevBracketLimit: break delta = bracket.limit - prevBracketLimit if taxable < bracket.limit: delta = taxable - prevBracketLimit tax = tax + delta * bracket.percentage prevBracketLimit = bracket.limit return tax

[Hat tip to tax season]

## No comments:

## Post a Comment