Глава 3.2. Задача фирма - грешно решение
Closed this issue · 3 comments
Линк към файла
Описание
На входа се подава броят на служителите, работили извънредно и поради липса на други данни, трябва да предположим, че това всъщност е броят на всички служители. Дадено е следното решение:
Следващата стъпка е да изчислим количеството на работните часове като умножим работните дни по 8 (всеки ден се работи по 8 часа) и ги съберем с извънработното време. Работните дни са равни на 90% от дните, с които фирмата разполага. Извънработното време е равно на резултата от умножението на броя на работещите извънредно служители с 2 (възможните часове извънработно време), като това също се умножава по броя на работните дни.
double workDays = availableDays * 0.9;
double overtime = overtimeWorkers * 2 * workDays;
double workHours = Math.floor(workDays * 8 + overtime);
Ако математическата част от решението на задачата Ви затруднява, дайте я на някой четвъртокласник и след това напишете кода по неговото решение.
Текущ текст
Текст след поправката
Fixed
Колега, мисля, че подигравателният ви коментар не е на място и никак не ни помага да отстраним проблемите.
Бутнахме малко условието, за да стане по-ясно къде, какво се въвежда. И в случая overtime се изчислява така: overtime = overtimeWorkers * 2 * availableDays;
Колеги извинявам се, че Ви "бъзнах" малко, но не можах да се сдържа! Това, което сте направили с изчисляването на overtime означава, че работниците са работили 2 часа допълнително дори и през тези 10% от времето, когато те са били на обучение, а според условието на задачата тогава те не могат да работят по проекта. Сами разбирате, че това не е правилно. Вашето решение в момента е:
double workDays = availableDays * 0.9;
double overtime = workers * 2 * availableDays;
double workHours = Math.floor(workDays * 8 + overtime);
А това е решението, което Ви предлагам:
double workDays = availableDays * 0.9;
double overtime = workers * 2 * workDays;
double workHours = Math.floor(workers * 8 * workDays + overtime);
Ако го приемете за вярно, би трябвало да промените и очакваните изходни данни, както и заложения изход в Judge.