var PHONE_PRICE = 31; var SPENDING_THRESHOLD = 23; var bank_balance = 309; var phone_accesory = 5; var tax_rate = 12.5; var total_amount = 0; while(PHONE_PRICE < bank_balance){ var gross_total = 0; if(phone_accesory < SPENDING_THRESHOLD){ SPENDING_THRESHOLD -= phone_accesory; gross_total += phone_accesory; } gross_total += PHONE_PRICE; total_amount += add_tax(gross_total); bank_balance -= add_tax(gross_total); } console.log(pretty_print(total_amount)); function pretty_print(total_amount){ return '$'+total_amount.toFixed(2); } function add_tax(gross_total){ return gross_total * (1+tax_rate/100); }