LeetCode 2739. Total Distance Traveled in F#
URL
Total Distance Traveled - LeetCode
Code
https://github.com/syohex/dotnet-study/tree/master/fsharp/leetcode/problems/2739/main.fsx
let distanceTraveled (mainTank: int) (additionalTank: int) : int =
let rec distanceTraveled' mainTank additionalTank acc =
if mainTank < 5 then
acc + mainTank * 10
else
let mainTank' = mainTank - 5
let acc' = acc + 50
if additionalTank > 0 then
distanceTraveled' (mainTank' + 1) (additionalTank - 1) acc'
else
distanceTraveled' mainTank' additionalTank acc'
distanceTraveled' mainTank additionalTank 0