Задача 2 - фирма от изпита на 28.08.2016
Задача номер 2 от тук:
https://judge.softuni.bg/Contests/274/Programming-Basics-Exam-28-August-2016
за фирма ме затруднява.
При мен се получава 71.4, което с Math.Floor - към по малкото целочислено число би го закръглило към 71. А очаквания изход е 72.
Аз съм го написал с Math.Ceiling. Идеи аз ли се бъркам някаде, или има някаква неточност в условието.
Закръглям най-накрая непосредствено преди печатане, така че не би трябвало да има неточности.
При проверката с втория вход:
99
3
1
Трябва да изкара изход: Not enough time!72 hours needed.
По условие е казано че трябва да се закръгли към по малкото целочислено число.
(Часовете трябва да са закръглени към по-ниско цяло число (Например –> 6.98 часа се закръглят на 6 часа).
var nHours = int.Parse(Console.ReadLine());
var nDays = int.Parse(Console.ReadLine());
var workers = int.Parse(Console.ReadLine());
var inHours = 0.0;
inHours = (nDays * 8) + ((workers * 2) * nDays) - (0.1*nDays*8); //Тук се получава: 3*8+1*2*3-0,1*3*8 = 24+6-2,4=27,6
if (inHours >= nHours)
{
var diff = 0.0;
diff = inHours - nHours;
Console.WriteLine($"Yes!{diff=Math.Floor(diff)} hours left.");
}
else
{
var diff = 0.0;
diff = nHours - inHours;//99-27.6=71.4
Console.WriteLine($"Not enough time!{diff = Math.Ceiling(diff)} hours needed.");
}
{diff = (int)(diff)} с това отново ми го закръгля към 71