19. *Ремонт на плочки - Задача
Здравейте, колеги,
въпрос за задачката с плочките...не се смейте, моля, начинаещ съм :D Написах следното решение, което ми дава много близки резултати, но не е достатъчно....
Задача :
На площадката пред жилищен блок трябва да се поставят плочки. Площадката е с форма на квадрат със страна N метра. Плочките са широки „W“ метра и дълги „L“ метра. На площадката има една пейка с ширина M метра и дължина O метра. Под нея не е нужно да се слагат плочки. Всяка плочка се поставя за 0.2 минути.
Напишете програма, която чете от конзолата размерите на площадката, плочките и пейката и пресмята колко плочки са необходими да се покрие площадката и пресмята времето за поставяне на всички плочки.
Пример: площадка с размер 20м. има площ 400кв.м. Пейка широка 1м. и дълга 2м., заема площ 2кв.м. Една плочка е широка 5м. и дълга 4м. има площ = 20кв.м. Площта която трябва да се покрие е 400 – 2 = 398 кв.м. Необходими са 398 / 20 = 19.90 плочки. Необходимото време е 19.90 * 0.2 = 3.98 минути.
Вход
От конзолата се четат 5 числа:
- N – дължината на страна от площадката в интервала [1...100]
- W – широчината на една плочка в интервала [0.1...10.00]
- L – дължината на една плочка в интервала [0.1...10.00]
- М – широчината на пейката в интервала [0...10]
- О – дължината на пейката в интервала [0...10]
//Обща площ = 20 * 20 = 400; площ на пейката = 1 * 2 = 2
//Площ за покриване = 400 – 2 = 398
// Площ на плочки = 5 * 4 = 20
//Необходими плочки = 398 / 20 = 19.9
//Необходимо време = 19.9 * 0.2 = 3.98
//Да се отпечата на конзолата две числа: броят плочки необходи за ремонта и времето за поставяне, всяко на нов ред.
class Program
{
static void Main(string[] args)
{
double i =double.Parse(Console.ReadLine()); // strana ploshtadka
double a =double.Parse(Console.ReadLine()); //shirina plochki
double b =double.Parse(Console.ReadLine()); //duljina plochki
double c =double.Parse(Console.ReadLine()); //shirina peika
double x =double.Parse(Console.ReadLine()); //duljina peika
double ploshtadka = i * i;
double ploshtpeika = c * x;
double ploshtzapokrivane = ploshtadka - ploshtpeika;
double ploshtplochki = a * b;
double plochki = (ploshtadka / ploshtplochki);
double vreme = plochki * 0.2;
Console.WriteLine("Plochki = {0} ", + plochki);
Console.WriteLine("Vreme za slagane = {0} ", vreme);
}
}
}
Моля за пояснения :D
Благодаря!
Здравейте,
имам проблем с output-а на конзолата, а именно че не печата 0, ако нулата е втората цифра след десетичната запетая (https://imgur.com/a/YwI4F), което кара judge да постави ниска оценка, въпреки че изчисленията и кода са привидно правилни (https://pastebin.com/uXJ0quw2).
Проверих и регионалните настройки на компютъра си, но не виждам проблем там. Те изглеждат ето така (https://imgur.com/2Ko25aH).
Как мога да накарам конзолата да печата и въпросната 0?
Благодаря за помощта :)