Loading...

Във форума е въведено ограничение, което позволява на потребителите единствено да разглеждат публикуваните въпроси.

roumen_georgiev avatar roumen_georgiev 1 Точки

Задача Fish boat

 

function dom1(budget, season, count) {
    count = Number(count);
    budget = Number(budget);
    let total = 0;
    let rent;
    let discount;
    
    if (count < 1 || budget < 0)
        {}

    switch (season) {
        case "Spring":
            rent = 3000;
            break;

        case "Summer":
            rent = 4200;
            break;
    
        case  "Autumn":
            rent = 4200;
            break;

        case "Winter":
            rent = 2600;
            break;
        
        default:
            break;
    }
    
    if (count <= 6)
        discount = 0.9;
    else if ( count <= 11)
        discount = 0.85;
    else 
        discount = 0.75;

    if (count % 2 == 0 && season != "Autumn")
        discount = discount - 0.05;

    total = rent * discount;
    if (total <= budget) {
        console.log(`Yes! You have ${(budget-total).toFixed(2)} leva left.`);
    } else 
        console.log(`Not enough money! You need ${(total-budget).toFixed(2)} leva.`);
    
    
}

 

Judge не ми пуска повече от 60/100, но и без много обяснения.

Някой може ли да помогне ?

Тагове:
0
Programming Basics with JavaScript 05/05/2020 15:24:29
mttnu avatar mttnu 82 Точки

Грешката ти е в тялото на 3-тия if, където изчисляваш допълнителната отстъпка, ако бройката е четна и сезона не е есен.
 

discount = discount - discount * 0.05 

или

discount -= discount * 0.05

или

discount *= 0.95;


- Това решава проблема и дава 100/100 в Judge.

 

//

if (count < 1 || budget < 0)
        {}

Този if, написан по този начин (без нищо в тялото), не прави абсолютно нищо.

И забелязах, че спестяваш {} на много места (if / else if / else) - не ти го препоръчвам. Много лесно можеш да си счупиш кода и дълго време да се чудиш защо нещо не работи както трябва.

 

0
05/05/2020 16:23:01
roumen_georgiev avatar roumen_georgiev 1 Точки

Благодаря много за помощта! Така наистина работи, според мен допълнително трябва да значи събиране, което изглежда не е така. Празният if() беше от хилядите тестове да изпробвам къде се дъни. Благодаря и за забележката.

0
05/05/2020 19:13:44
MartinBG avatar MartinBG 4803 Точки

Остъпката за четен брой рибари се прилага върху вече изчислената цена.

Променете:

    if (count % 2 == 0 && season != "Autumn")
        discount = discount - 0.05;

    total = rent * discount;

На:

    total = rent * discount;
  
    if (count % 2 == 0 && season != "Autumn")
        total *= 0.95;

 

0
roumen_georgiev avatar roumen_georgiev 1 Точки

Благодаря Ви за помощта! Така дава перфектен резултат.

1
kaleanna avatar kaleanna -11 Точки

Научих за това, но не много, благодаря за вашата информация 

mapquest

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