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

За задачата Godzila vs. Kong - js

Здравейте!

Може ли някой да ми каже къде греша, защо получавам само 60 от 100 точки? Нулевите тестове са ок.

function movie(input) {
    let budget = Number(input.shift());
    let countWalkons = Number(input.shift());
    let priceClothes = Number(input.shift());

    let priceDecor = budget * 0.10;
    let totalPriceClothes = countWalkons * priceClothes;

    if (countWalkons > 150) {
        totalPriceClothes = totalPriceClothes - totalPriceClothes * 0.10;
    }

    let neededMoney = priceDecor + totalPriceClothes;
    let result = budget - neededMoney;

    if (result < 0) {
        console.log("Not enough money!");
        console.log(`Wingard needs ${(Math.abs(result.toFixed(2)))} leva more.`);
    } else {
        console.log("Action!");
        console.log(`Wingard starts filming with ${result.toFixed(2)} leva left.`)
    }


}

 

Благодаря!

 

 

Тагове:
DeveloperEnthusiast avatar DeveloperEnthusiast 303 Точки

Здравей !

 

тази проверка

if (countWalkons > 150)

трябва да е преди това изчисление

let totalPriceClothes = countWalkons * priceClothes;

защото priceClothes може да се примени в проверката

 

https://pastebin.com/d030nZcR - тук ще видиш останалото

 

Успех smiley

0
20/02/2020 03:35:58
Lagia avatar Lagia 1 Точки

Много благодаря за отговора, но ако ги разместя, както казвате, не работи изобщо.

По моя начин, обаче с промяна в последната проверка, ми се получават 100 точки.

Просто не мога да разбера защо по първия начин с нулата логиката не работи.

Кодът със 100те точки е този:

function movie(input) {
    let budget = Number(input.shift());
    let countWalkons = Number(input.shift());
    let priceClothes = Number(input.shift());

    let priceDecor = budget * 0.10;
    let totalPriceClothes = countWalkons * priceClothes;
    

    if (countWalkons > 150) {
        totalPriceClothes = totalPriceClothes - totalPriceClothes * 0.10; 
    }

    let neededMoney = priceDecor + totalPriceClothes;
    let result = Math.abs(neededMoney - budget);

    if (neededMoney > budget) {
        console.log("Not enough money!");
        console.log(`Wingard needs ${result.toFixed(2)} leva more.`);
    } else  {
        console.log("Action!");
        console.log(`Wingard starts filming with ${result.toFixed(2)} leva left.`)
    }


}

0
DeveloperEnthusiast avatar DeveloperEnthusiast 303 Точки

Аз няма да ти дам код, който не дава 100 точки... Не ти работи изобщо, защото totalPriceClothes не може да бъде използвана преди да бъде дефинирана

    if (countWalkons > 150) {
        priceClothes -= priceClothes * 0.10;
    }

Променям ти цената на дрехите, както е по условие.

0
Lagia avatar Lagia 1 Точки

Благодаря ти за времето и помощта!

1
kstoqnov avatar kstoqnov 5 Точки

function solve(arg){

    let movieBudget = Number(arg.shift());
    let numberOfExtras = Number(arg.shift());
    let priceForOneExtras = Number(arg.shift());

    let decorAmount = movieBudget * 0.10;
    let amountForClothing = numberOfExtras * priceForOneExtras;
    let discountClothing = amountForClothing * 0.10;

    let totalMovieAmount = numberOfExtras > 150 ? decorAmount + ( amountForClothing - discountClothing ) : decorAmount + amountForClothing;

    let totalMovieBudget = totalMovieAmount > movieBudget ? totalMovieAmount - movieBudget : movieBudget - totalMovieAmount;

    if(totalMovieAmount > movieBudget){

        console.log(`Not enough money!`);
        console.log(`Wingard needs ${totalMovieBudget.toFixed(2)} leva more.`);

    }else{

        console.log(`Action!`);
        console.log(`Wingard starts filming with ${totalMovieBudget.toFixed(2)} leva left.`);

    }

}

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