Loading...
LilianaVelvheva avatar LilianaVelvheva 17 Точки

Защо Judge ми дава 0/100 на задача 1. Firm?

https://pastebin.com/pXtRH85S

1.Фирма

Фирма получава заявка за изработването на проект, за който са необходими определен брой часове. Фирмата разполага с определен брой дни. През 10% от дните служителите са на обучение и не могат да работят по проекта. Един нормален работен ден във фирмата е 8 часа. Всеки служител може да работи по проекта в извънработно време по 2 часа на ден.

Часовете трябва да са закръглени към по-ниско цяло число (Например –> 6.98 часа се закръглят на 6 часа).

Напишете програма, която изчислява дали фирмата може да завърши проекта навреме и колко часа не достигат или остават.

Вход

Входът се чете от конзолата и съдържа точно 3 реда:

  • На първия ред са необходимите часовете цяло число в интервала [0 ... 200 000]
  • На втория ред са дните, с които фирмата разполагацяло число в интервала [0 ... 20 000]
  • На третия ред е броят на служителите, работещи извънредноцяло число в интервала [0 ... 200]

Изход

Да се отпечата на конзолата един ред:

  • Ако времето е достатъчно:
    • Yes!{оставащите часове} hours left.
  • Ако  времето НЕ Е достатъчно:
    • Not enough time!{недостигащите часове} hours needed.

Примерен вход и изход

Вход

Изход

Обяснения

90

7

3

Yes!2 hours left.

За проекта са нужни 90 часа.

Фирмата разполага със 7 дена.

10% от които отиват за обучение, следователно часовете за работа са: 6.3 * 8 = 50.4 часа.

3 служители работят извънредно – 3 * (2 часа за 7 дена) = 42 часа.

Общо часове = 50.4 + 42 = 92.4 часа -> 92 часа > 90

Проектът може да бъде завършен на време и остават 2 часа.

Вход

Изход

Вход

Изход

99

3

1

Not enough time!72 hours needed.

50

5

2

Yes!6 hours left.

Тагове:
0
Programming Basics
Drinka avatar Drinka 29 Точки

Здравей! Отново имаш грешки при изчисляването на часовете, на времето за обучение и на общото време за работа. Съветвам те да именуваш по-добре променливите, за да не стават обърквания при работата с тях. Например променливата, която изчислява допълнителното време, в което работят служителите, при теб е employers, което означава "работодатели". Оттам стават обърквания в следващите части на задачата. Пращам ти редактирания код, за да видиш как съм изчислила общото време:

https://pastebin.com/8gq5SYGF

 Освен това не се ползва Math.ceil, а Math.floor, защото е казано, че часовете трябва да се закръглят до по-ниско цяло число, а не до по-високо. Math.ceil, Math.floor, Math.round, Math.trunc и т.н. винаги се слагат преди самата променлива- например  Math.floor(име на променлива). Единствено toFixed(...) се пише след променливата- например  име на променлива.toFixed(2). 
Вече за втори път виждам да пишеш if (... === "enough"), сега ще ги обясня защо това не работи. В тази задача имаш if (totalTime === "enough"), но totalTime винаги е число, например 50 часа. Когато влезеш в тази проверка, интерпретаторът ще провери дали стойността на totalTime е равна на "enough", но числото 50 няма как да е равно на "enough", затова винаги ще влизаш във втората проверка. Интерпретаторът не може сам да прецени дали времето е достатъчно, затова трябва сама да направиш проверка. Ако времето, което имаш, е повече или равно на необходимото време, значи ще успееш да завършиш проекта. Ако времето, което имаш, е по-малко от необходимото, няма да успееш да завършиш проекта и ще влезеш в else. If конструкцията става if (totalTime >= hoursNeeded) {...} else {...}.

1
10/12/2020 08:39:20
LilianaVelvheva avatar LilianaVelvheva 17 Точки

Благодаря за изчерпателния отговор. Обяснението много ми помогна, за да разбера важни неща за променливите и за if - else конструкцията.

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