04.Renovation - Programming Basics Online Exam - 6 and 7 July 2019
Здрявейте,
Моля ви помогнете.
В Judge ми гърми на първия и последния тест и не мога да си обясня защо.
Ето условието: https://softuni.bg/downloads/svn/programming-basics-v4/course-directories/september-2019/2019-05/Exam/04.%20Renovation.docx
Ето и кода:
using System;
namespace _04Renovation
{
class Program
{
static void Main(string[] args)
{
double height = int.Parse(Console.ReadLine());
double width = int.Parse(Console.ReadLine());
double percentageWindowsAndDoors = int.Parse(Console.ReadLine());
string input = Console.ReadLine();
double totalArea = height * width * 4;
double wallArea = totalArea * (1 - percentageWindowsAndDoors / 100.0);
double litersNeed = Math.Ceiling(wallArea);
double litersUsed = 0;
double totalLitersUsed = 0;
while (input != "Tired!")
{
litersUsed = double.Parse(input);
totalLitersUsed += litersUsed;
if (totalLitersUsed == litersNeed)
{
Console.WriteLine($"All walls are painted! Great job, Pesho!");
break;
}
else if (totalLitersUsed > litersNeed)
{
Console.WriteLine($"All walls are painted and you have {totalLitersUsed - litersNeed} l paint left!");
break;
}
input = Console.ReadLine();
}
if (input == "Tired!")
{
Console.WriteLine($"{litersNeed - totalLitersUsed} quadratic m left.");
}
}
}
}
Благодаря за помощта.
Благодаря за бързия отговор.
Пробвах кода ви и ми даде 100/100.
След това частично комбинирах двата кода и изпратих в Judge (https://pastebin.com/36Nb2zMT). За жалост пак получих 75/100.
При което разбрах, че грешката в моя код е, че изчислявам double wallArea = totalArea * (1 - percentageWindowsAndDoors / 100.0); вместо double wallArea = totalArea - (totalArea /100.0 * percentageWindowsAndDoors);.
Реших да запазя стария ми код и просто да променя изчислението на totalArea (https://pastebin.com/C5xQU0J8), но лично мисля, че вашият код е по-изчистен.