#PB JavaScript 3.2 SC Exam Problems - 02. Pipes In Pool Грешка при Judge ?!
Здравейте, дали на някой друг също се случва или аз бъркам.
Прикачвам 2 решения на задачата и после ще задам някои въпроси.
Решение 1:
function swimmingPool([arg1,arg2,arg3,arg4]) {
let v = parseInt(arg1);
let p1 = parseInt(arg2);
let p2 = parseInt(arg3);
let h = parseFloat(arg4);
let v1 = (p1 + p2) * h;
if (v1 <= v) {
var whole = 100 * (v1 / v);
var allp1 = 100 * (p1 / v1) * h;
var allp2 = 100 * (p2 / v1) * h;
console.log(`The Pool is ${Math.trunc(whole)}% full.
Pipe 1: ${Math.trunc(allp1)}%.
Pipe 2: ${Math.trunc(allp2)}%`);
} else {
console.log(`For ${h} hours the pool overflows with ${v1 - v} liters.`);
}
}
Решение 2:
function swimmingPool([volume,pipe1,pipe2,hours]) {
let water = (pipe1 + pipe2) * hours;
if (water <= volume) {
console.log(`The pool is ${Math.trunc(100 * (water / volume))}% full.
Pipe 1: ${Math.trunc(100 * (pipe1 / water * hours))}%.
Pipe 2: ${Math.trunc(100 * (pipe2 / water * hours))}%`);
} else {
console.log(`For ${hours} hours the pool overflows with ${water - volume} liters.`);
}
}
И на двете решения ми дава 0/100 грешен отговор.
Като първото решение е импровизирано от мен, а второто е направено по учебника.
Въпроса ми е следния, защо в Visual Studio Code ми приема решенията, а в Judge ми ги отхвърля?
Каква е разликата. Освен това начина за писане на кода е от учебника на Soft Uni !?
Здравей, благодаря ти много за отговора, дори не знаех че има такава възможност за разбиване на функцията на части.
До момента с уроците сме назад, аз си уча самостоятелно по учебника, записах JS от този месец, просто си бутам напред.
Това не ми е домашно все още, просто искам да разбера какво се случва и как да направя нужните корекции, за което ти благодаря че ми помагаш.
Разгледах кода, но фунцията незнам как да я въведа и да и задам параметри swimmingPool([100,100,100,2.5]).
Така не става, поне във Visual Studio Code. TypeError: volume[0].split is not a function
Здравей :). Ами проблема е, че ти подават параметрите като текст и самите стойности са разделени с \n. Функцията в джъдж се вика ето така : swimmingPool(['1000\n100\n120\n3']). Виждаш, че това е един елемент от тип текст и между стойностите има \n, което е проблема. Намерих, че някой друг е питал въпрос за същата задача преди време и колегите му обясняват, същото нещо. Там се е изписало малко повече и ти препоръчвам да прочетеш за какво става въпрос, защото може задачата да е решена до 100 точки. Ето ти линк : https://softuni.bg/forum/21008/02-pipes-in-pool-javascript
Иначе е много готино, че сам си буташ напред. Продължавай. Поздрави :)