Loading...
Ytrewq avatar Ytrewq 0 Точки

02. Pipes in Pool JavaScript

Здравейте, не мога да разбера къде греша, Judge връща NaN и влиза във втори случай само, във VS Code всичко си работи.

function pool ([v, x, y, N]){

let poolVol = parseInt(v);

let debit1 = parseInt(x);

let debit2 = parseInt(y);

let hours = parseFloat(N);

let palenPool = hours * debit1 + hours * debit2;

if (palenPool <= poolVol) {

let kolkoPalen = palenPool / poolVol * 100;

let kolkoDebit1 = Math.trunc(debit1 / (debit1 + debit2) * 100);

let kolkoDebit2 = Math.trunc(debit2 / (debit1 + debit2) * 100);

console.log(`The pool is ${kolkoPalen}% full. Pipe 1: ${kolkoDebit1}%. Pipe 2: ${kolkoDebit2}%.`);

} else {

let kolkoPreliva = palenPool - poolVol;

console.log(`For ${hours} hours the pool overflows with ${kolkoPreliva} liters.`);

}

}

 

Тагове:
0
Programming Basics
boykopk avatar boykopk 147 Точки

Здравей,

редактирах ти кода:

function pool([v, x, y, N]) {

    let poolVol = parseInt(v);

    let debit1 = parseInt(x);

    let debit2 = parseInt(y);

    let hours = parseFloat(N);

    let palenPool = hours * debit1 + hours * debit2;

    if (palenPool <= poolVol) {

        let kolkoPalen = Math.trunc(palenPool / poolVol * 100);

        let kolkoDebit1 = Math.trunc(hours * debit1 / palenPool * 100);

        let kolkoDebit2 = Math.trunc(hours * debit2 / palenPool * 100);

        console.log(`The pool is ${kolkoPalen}% full. Pipe 1: ${kolkoDebit1}%. Pipe 2: ${kolkoDebit2}%.`);

    } else {

        let kolkoPreliva = palenPool - poolVol;

        console.log(`For ${hours} hours the pool overflows with ${kolkoPreliva.toFixed(1)} liters.`);

    }

}

0
Ytrewq avatar Ytrewq 0 Точки

Благодаря, но продължава да връща NaN hours и NaN liters, имам някъде голяма грешка, но не мога да я открия :(.

0
boykopk avatar boykopk 147 Точки

Задаваш ли в джъдж да е на JavaScript?

0
Ytrewq avatar Ytrewq 0 Точки

да, другите ми задачи минават, само тази - не. Опитах и с решението, което е дадено към примера, пак същият резултат. Всичките ми променливи са number, какво е това NaN, не знам. 

0
BoYaN avatar BoYaN 336 Точки

Здравейте,
проблема е че входа всъщност е един стринг, който трябва да се сплитне по нов ред '\n', затова само първата стойност се парсва до число, а останалите три са NaN.
Ето как правилно да си вземете входа за JS

function pipesInPool (input) {
  let [volume, fPipe, sPipe, hours] = input[0].split('\n').map(Number)
0
AleksandarRadev avatar AleksandarRadev 2 Точки

Здравей, 

Използвах този начин да сплитна по нов ред, със следния код: 

function PipesInPool(args){
        
        let [v, p1, p2, h] = args[0].split(`\n`).map(Number);
        
        let water= (p1 + p2) * h;
        
        if (water<= v){
            console.log(`The pool is ${Math.trunc((water/ v) * 100)}% full. Pipe 1: ${Math.trunc((p1 * h / water) * 100)}%. Pipe 2: ${Math.trunc((p2 * h / water) * 100)}%.`);
        } else {
            console.log(`For ${h} hours the pool overflows with ${water- v} liters.`);
        }
    }

 

В Judge ми дава 93/100, и не виждам какъв е проблема, ако може някой да удари едно рамо :)

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