Untitled
unknown
javascript
a month ago
1.6 kB
2
Indexable
Never
function calculateEnergy(A, B, C, D) { const energyToBoil = 100 * A; const heatingTime = 100 * B; const energyToMaintain = C * 60; const coolingTime = (100 - 22) / D; // in minutes let reheatEnergy = 0; let currentHeat = 100; let remainingTime = 60; // in minutes let canReach = false; if (currentHeat - 60 * D <= 22) { canReach = true; reheatEnergy = 780 * (A/B) } if (!canReach) { for (let time = 60; time > 0; time -= 0.001) { currentHeat -= (D) * 0.001; const timeToHeat = (100 - currentHeat) * B / 60; // in minutes remainingTime -= 0.001; if (timeToHeat >= remainingTime || currentHeat == 22) { reheatEnergy = remainingTime * (A / (B / 60)); break; } else { reheatEnergy = (100 - currentHeat) * timeToHeat; } } } return [energyToMaintain, reheatEnergy]; } let input = "5 10 3 2"; let [A, B, C, D] = input.split(" ").map(Number); let [energyToMaintain, reheatEnergy] = calculateEnergy(A, B, C, D); console.log("With inputs 5 10 3 2") console.log("Output: ", energyToMaintain.toFixed(4)); console.log("Output: ", reheatEnergy.toFixed(4)); console.log() input = "4.186 15.7 2.31152 0.42"; [A, B, C, D] = input.split(" ").map(Number); [energyToMaintain, reheatEnergy] = calculateEnergy(A, B, C, D); console.log("With inputs 4.186 15.7 2.31152 0.42") console.log("Output: ", energyToMaintain.toFixed(4)); console.log("Output: ", reheatEnergy.toFixed(4)); console.log()