Drill

ProblemsTypeScript › finance

How much survives a round trip

mediumfinanceTypeScript

Money changes from currency A to B to C, and the rates are given in basis points per leg. Find what is left in the end.

exchangeRoundTrip(amountMinor: int, rateABbps: int, rateBCbps: int) → int

Solve it in the editor →

Where you start

function exchangeRoundTrip(amountMinor: number, rateABbps: number, rateBCbps: number): number {
  
}

Worked examples

CallResult
exchangeRoundTrip(200, 1000, 2500)5
exchangeRoundTrip(100, 5000, 2000)10
exchangeRoundTrip(1000, 1000, 1000)10
exchangeRoundTrip(100, 8000, 1000)8

Hint

Multiply all three factors, then divide once by a hundred million.

Reference solution in TypeScript
function exchangeRoundTrip(amountMinor: number, rateABbps: number, rateBCbps: number): number {
  return Math.floor((amountMinor * rateABbps * rateBCbps) / (10000 * 10000));
}

The same problem in another language

More finance problems in TypeScript