Loading...
fqlc0n3 avatar fqlc0n3 1 Точки

Output-а в judge системата е различен от конзолния в браузъра

Здравейте! :)

Имам следния въпрос: 

Защо когато напиша дадена задача и я тествам предварително тя работи напълно, но в judge системата ми дава обсолютно неочакван output, заради което я брои за невярна или не напълно вярна?

function HollyDay(vacPr, puzz, dolls, bears, miners, trucks) {
    let newTotalSum = 0;
    let totalSum = puzz * 2.6 + dolls * 3 + bears * 4.1 + miners * 8.2 + trucks * 2;
    let count = puzz + dolls + bears + miners + trucks;
    
    if(count >= 50) newTotalSum = totalSum * 0.75 * 0.9;
    else newTotalSum = totalSum * 0.9;

    if(newTotalSum >= vacPr) {
        let left = newTotalSum - vacPr;
        console.log(`Yes! ${left.toFixed(2)} lv left.`);
    }
    else {
        let notEnough = vacPr - newTotalSum;
        console.log(`Not enough money! ${notEnough.toFixed(2)} lv needed.`);
    }
}

HollyDay(320, 8, 2, 5, 5, 1); // output (Opera console) - Not enough money! 238.73 lv needed. // а в judge - Not enough money! 259.05 lv needed.

P.S. Изпращам отговора си без извикване на функцията както си му е реда. Този проблем се появява и при съвсем елементарни задачи.

Голямо БЛАГОДАРЯ! :)

 

Тагове:
0
Programming Basics with JavaScript 06/08/2020 14:56:48
mttnu avatar mttnu 82 Точки
Best Answer

Judge подава стрингове като аргументи, които трябва да преобразуваш в числа.
Твоите тестове минават, но на Judge - не, защото на 4 ред конкатенира, а не събира.
Преобразувай входните данни в числа с Number / parseInt / parseFloat, според условието на задача, и ще се реши проблемът. :) 

1
06/08/2020 15:24:42
fqlc0n3 avatar fqlc0n3 1 Точки

Още веднъж Благодаря! :)

след промяна на 4-ти ред, в следния вид:

let count = Number(puzz) + Number(dolls) + Number(bears) + Number(miners) + Number(trucks);

всичко е точно.

Може би подобен род грешки са тези, които допускам и при други задачи, които не иска да приеме.

0
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.