Привет Колеги,
малко помощ за задача Balanced Numbers- Mock Exam-1.
Не се сещам как да я подкарам…
Здравей колега,
имаме няколко условия, които трябва да вземем под внимание:
1.Създаваме променлива в която ще пазим сумата на балансираните числа.
2. По условие не знаем колко числа ще четем, значи ще ни трябва while или do while циъкл.
3. Вътре в цикъла, четем трицифрени числа (тук имаме поне две опции, да ги четем като string или като int):
Взимаме първият и последният индекс, парсваме ги към int, сумираме ги и ги сравняваме дали са равни на средният индекс.
Ако са равни увеличаваме сумата със стойността на даденото число (може да го пазим в отделна променлива или както ни е удобно ).
Всичко това го повтаряме докато не получим небалансирано число, щом разберем че е такова илизаме от цикъла и принтираме сумата.
Успех.
Здравейте,
Опитвам се да тествам локално кода си, използвайки code snippet-а от judge.
Виждам в задачата примерен input, но както и да го подам след “const test”, не успявам да получа правилен отговор, дори с верните решения.
Дали някой може да даде съвет как да въведа input данните, за да тествам някои сценарии?
Благодаря предварително!
Здравей Колежке,
Ако може изпрати кода си, да видим защо се чупи.
Имаш поне два варианта:
- Правим do-while (гарантирано влизаме поне веднъж във циъкл), четем число/а и правим проверка докато не стигнем до
"You should stop when an unbalanced number is given.". Тогава излизаме от цикъла и принтираме резултата.
2.Правим While{} цикъл, в момента в който числото което сме прочели не е балансирано излизаме и принтираме сумата.
Поздрави,
Мишо
Взех уж правилно решение на готово, за да тествам локално при мен. По идея трябва да получа 132, но резултатът при мен е 0…
Стигнах до извода, че може би не подавам правилно Input-а при const test, но както и да го поправя, не получавам правилен резултат.
Сигурно е нещо елементатно, което пропускам, но не виждам вече втори ден какво е.
Благодаря за съдействието!
//testing locally
const getGets = (arr) => {
let index = 0;
return () => {
const toReturn = arr[index];
index += 1;
return toReturn;
};
};
// this is the test
const test =
[‘123’,
‘132’];
const gets = this.gets || getGets(test);
const print = this.print || console.log;
//snippet taken from https://judge.telerikacademy.com/problem/15balancednumbers/editorial
let sum = 0;
while (true) {
let [x, y, z] = gets();
if (+x + +z !== +y) {
break;
}
sum += +(x + y + z);
}
print(sum);