Loading...
direct avatar direct 15 Точки

01. Back To The Past

Досега решавах допълнителните задачи без особени проблеми. На циклите обаче още на първата видях какво е да ти чупи на скритите тестове. Логиката си работи ОК и излизат правилно резултатите, но judge-a дава 60/100...

function back(input) {
    let money = Number(input.shift());
    let n = Number(input.shift());
    let age = 17;
    for (i = 1800; i <= n; i++) {
        if (i % 2 == 0) {
            age += 1;
            money -= 12000;
        } else {
            age += 1;
            money -= 12000 + age * 50;
        }
    }

    if (money >= 0) {
        console.log(`Yes! He will live a carefree life and will have ${money.toFixed(2)} dollars left.`)
    } else {
        console.log(`He will need ${Math.abs(money.toFixed(2))} dollars to survive.`)
    }
}
back([
    500000,
    1838     
])

 

Тагове:
direct avatar direct 15 Точки

Следващата задача е същото - 60/100 при верни отговори на всички нулеви тестове:

function patients(input) {
    let n = Number(input.shift());
    let doctors = 7;
    let alivePatients = 0;
    let deadPatients = 0;

    for (i = 1; i <= n; i++) {
        num = Number(input.shift());
        if (i % 3 != 0) {
            if (num >= doctors) { 
                alivePatients += doctors;
                deadPatients += (num - doctors);
            } else {
                alivePatients += num;
                deadPatients += 0;
            }
        } else {
            doctors += 1;
            if (num >= doctors) { 
                alivePatients += doctors;
                deadPatients += (num - doctors);
            } else {
                alivePatients += num;
                deadPatients += 0;
            }
        }


    }
console.log(`Treated patients: ${alivePatients}.`)
console.log(`Untreated patients: ${deadPatients}.`)
}
patients([
    6,
    25,
    25,
    25,
    25,
    25,
    2
])

Няма да мъча докато не стане ясно откъде идва проблема. :)

0
twinsdz avatar twinsdz 16 Точки

Изпращам ти как аз реших задачата с болницата. Нещо този shift() не го разбирам много, затова го смених.

https://pastebin.com/9VGSAPQP

0
direct avatar direct 15 Точки

Мерси за решенията, но по-скоро ме интересуваше къде е проблемът в моя код. Не виждам съществени разлики в логиката...

0
DeveloperEnthusiast avatar DeveloperEnthusiast 303 Точки

Видях, че се повтаря два пъти едно и също нещо и че правиш 

deadPatients += 0;

което не прави нищо и не задълбах много, а реших да ти постна решения, защото от 1 час нямаше отговор и в случай, че логиката от кода ти помогне по някакъв начин сам да си намериш проблемите. Докторите иначе на пример се увеличават, когато това условие

(i % 3 != 0)

не е вярно и когато пациентите са повече от докторите, а при теб е само едното...

Хубаво е между другото да казваш и от къде са задачите освен заглавията им и да използваш pastebin за такива по-дълги решения

0
03/02/2020 00:31:17
direct avatar direct 15 Точки

Докторите иначе на пример се увеличават, когато това условие

(i % 3 != 0)

не е вярно и когато пациентите са повече от докторите, а при теб е само едното...

Мерси, това беше проблемът! Претупал съм условието и бях решил, че на всеки трети ден се увеличават с 1, а те са били две условия. Редът дето не прави нищо ми е останал от няколкото варианта, които пробвах, но не е проблем за judge-a. :) Остава и първата да проверя отново условието внимателно...

0
twinsdz avatar twinsdz 16 Точки

Ето ти я поправена

https://pastebin.com/qjyAeZWw

Мисля, че беше от Math.abs. Иначе всичко си беше вярно. И при мен не работеше вътре в конзол лога. Като го изкарах в друга променлива стана. И беше забравил let пред i.

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