Untitled
unknown
javascript
2 years ago
1.6 kB
13
Indexable
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()
Editor is loading...