Задача 5 от предварителния изпит - Everest JS
Здравейте,
Изпита мина и исках да се консултирам за тази задача - judge ми даде 50/10, не мога да си намеря грашката:
https://pastebin.com/PED9WPyi
Благодаря предварително
Здравейте,
Изпита мина и исках да се консултирам за тази задача - judge ми даде 50/10, не мога да си намеря грашката:
https://pastebin.com/PED9WPyi
Благодаря предварително
Не сте дали условието на задачата, но този код изглежда много подозрителен, защото прави едно и също и при двете условия (Yes и No):
if(command === `Yes`){
meeters += dailyMeeters;
days++;
} else if (command === `No`){
days++;
meeters += dailyMeeters;
}
Задача 5. Еверест
Атанас е алпинист, чиято следваща цел е изкачването на Еверест. Вашата задача е да напишете програма която да следи до каква височина е достигнал Атанас и за колко дни е изкачил върха. Той започва изкачването си от ден първи от базов лагер, който е на 5 364 метра, а самият връх е на 8 848м. Преди всяко изкачване на определени метри, Атанас може да си почине в някой лагер и да продължи на следващия ден или да продължи изкачването без да спре, като максималното време, в което той може да изкачва върха е 5 дни. Програмата приключва при получаване на командата "END", при достигане на върха(8 848м) или при превишаване на разрешените 5 дни за изкачване.
Вход
От конзолата се четат по два реда до въвеждане на команда "END", ако са минали повече от 5 дни в изкачване или се достигне върха (8 848м):
Изход
След получаване на командата "END", превишаване на разрешениете 5 дни за изкачване или се достигне върха (8 848м), на конзолата се отпечатва:
"Goal reached for {брой дни които Атанас е изкачвал върха} days!"
Примерен вход и изход
JavaScript - Примерен вход и изход
Вход
Изход
Обяснения
(["Yes",
"1254",
"Yes",
"1402",
"No",
"250",
"Yes",
"635"])
Goal reached for 4 days!
Дали преди изкачването Атанас нощува: Yes -> започва ден 2-ри
Изкачени метри през ден 2-ри: 5 364 + 1 254 = 6 618 м
Дали преди изкачването Атанас нощува: Yes -> започва ден 3-ти
Изкачени метри през ден 3-ти: 6 618 + 1 402 = 8 020 м
Дали преди изкачването Атанас нощува: No -> продължава ден 3-ти Изкачени метри през ден 3-ти: 8 020 + 250 = 8 270 м
Дали преди изкачването Атанас нощува: Yes -> започва ден 4-ти
Изкачени метри през ден 4-ти: 8 270 + 635 = 8 905 м
Изкачените метри 8 905 м са повече от 8 848м, следователно Атанас е изкачил Еверест за 4 дни и програмата приключва.
Вход
Изход
Вход
Изход
Вход
Изход
(["Yes",
"1000",
"Yes",
"945",
"No",
"1200",
"END"])
Failed!
8509
(["Yes",
"535",
"Yes",
"849",
"Yes",
"499",
"Yes",
"400",
"Yes",
"500"])
Failed!
7647
7647
7647
7647
76764747
(["Yes",
"700",
"END"])
Failed!
6064
Опитайте така:
Благодаря Ви, определено е по-леко и оптимизирано решение