Back To The Past
Здравейте,
на задачата Back To The Past ми дава 40/100 в judge, а иначе всички отговори ми излизат вярно на конзолата, идея къде бъркам?
Иванчо е на 18 години и получава наследство, което се състои от X сума пари и машина на времето. Той решава да се върне до 1800 година, но не знае дали парите ще са достатъчни, за да живее без да работи. Напишете програма, която пресмята дали Иванчо ще има достатъчно пари, за да не се налага да работи до дадена година включително. Като приемем, че за всяка четна (1800, 1802 и т.н.) година ще харчи 12 000 долара. За всяка нечетна (1801,1803 и т.н.) ще харчи 12 000 + 50 * [годините, които е навършил през дадената година].
Входни данни
Програмата прочита 2 числа (аргумента), въведени от потребителя на отделни редове:
- Наследените пари – реално число в интервала [1.00 … 1 000 000.00].
- Годината, до която трябва да живее (включително) – цяло число в интервала [1801 … 1900].
Изходни данни
Да се отпечата на конзолата 1 ред. Сумата трябва да е форматирана до два знака след десетичния знак:
- Ако парите са достатъчно:
- „Yes! He will live a carefree life and will have {N} dollars left.“ – където N са парите, които ще му останат.
- Ако парите НЕ са достатъчно:
- „He will need {М} dollars to survive.“ – където M е сумата, която НЕ достига.
function pastAndFuture(input){
let money = Number(input[0]);
let year = Number(input[1]);
let personYear = 18;
let sum = 12000;
for(let i = 1800; i <= year; i++){
if(i % 2 == 0){
money -= sum;
}else{
money -= (sum + 50 * personYear)
}
personYear++;
}
if(money > sum){
console.log(`Yes! He will live a carefree life and will have ${money.toFixed(2)} dollars left.`);
}else{
console.log(`He will need ${Math.abs(money.toFixed(2))} dollars to survive.`);
}
}
pastAndFuture([50000, 1802]);