Loading...
ZarkoRashev avatar ZarkoRashev 6 Точки

Javascript - задача тръби

Здравейте,

 

Задачата ми гърми в Judge мисля, че заради закръглението до цели числа.

При първия тест ми дава отговор 54 за втора тръба, а VS код смята 55.

Ако може някой да удари един поглед.

 

function pipes([arg1, arg2, arg3, arg4]) {

let V = Number(arg1);

let P1 = Number(arg2);

let P2 = Number(arg3);

let H = Number(arg4);

 

let fillingInLitres = H * (P1 + P2);

let fillingPercent = fillingInLitres / V;

let overflow = fillingInLitres - V;

 

let p1Share = (P1 * H) / fillingInLitres;

let p2Share = (P2 * H) / fillingInLitres;

 

if (fillingInLitres <= V) {

console.log(`The pool is ${(fillingPercent * 100).toFixed(0)}% full. Pipe 1: ${(p1Share * 100).toFixed(0)}%. Pipe 2: ${(p2Share * 100).toFixed(0)}%.`);

} else {

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

}

}

 

Тагове:
0
Programming Basics
ZarkoRashev avatar ZarkoRashev 6 Точки

Реших си проблема, но с едни безсмислени преобразувания към стринг и прочие. Като цяло е по-редно задачата да работи с toFixed() метод, но системата няма как да е идеална. Благодаря на неволята, че първа се отзова :)

0
20/06/2018 21:46:02
Quake3 avatar Quake3 546 Точки

Здравей,

исках да ти дам готово решение, но не знам дали ще имам време.

Не знам условието, но предполагам има някаква грешка в judge.

Това което е на входа е масив от стрингове, като този който те интересува е първият, тоест:

function pipes(str) {

    var f = str[0];
    var n = f.split("\n").map(Number);
    var V = Number(n[0]);
    var P1 = Number(n[1]);
...

Така поне няма да преобразуваш стрингове :)

0
ZarkoRashev avatar ZarkoRashev 6 Точки

Здравей,

Проблемът беше със закръгленията, оправих го и изкара 100/100.

Благодаря все пак.

1
Quake3 avatar Quake3 546 Точки

Според мен решаваме различни задачи. Само за протокола: аз решавам тази задача. Така и не можах без условие да мина 93%.
P.S. Така и не разбрах условието, но докарах judge до 100.

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