Въпрос към задача от Conditional Statements - More Exercises
Judge ми дава само 90 точки и не ми казва къде е проблема .
задачата е следната:
03. Harvest
https://judge.softuni.bg/Contests/Practice/Index/1658#2
1.Реколта
От лозе с площ X квадратни метри се заделя 40% от реколтата за производство на вино. От 1 кв.м лозе се изкарват Y килограма грозде. За 1 литър вино са нужни 2,5 кг. грозде. Желаното количество вино за продан е Z литра.
Напишете програма, която пресмята колко вино може да се произведе и дали това количество е достатъчно. Ако е достатъчно, остатъкът се разделя по равно между работниците на лозето.
Кода ми е този :
using System;
namespace _03._Harvest
{
class Program
{
static void Main(string[] args)
{
int X = int.Parse(Console.ReadLine());
double Y = double.Parse(Console.ReadLine());
int Z = int.Parse(Console.ReadLine());
int workers = int.Parse(Console.ReadLine());
double totalGrapes = X * Y;
double grapesForWine = totalGrapes * 0.4;
double totalWine = grapesForWine / 2.5;
if (totalWine >= Z)
{
double wineForWorkers = totalWine - Z;
double winePerWorker = wineForWorkers / workers;
wineForWorkers = Math.Ceiling(wineForWorkers);
winePerWorker = Math.Ceiling(winePerWorker);
totalWine = Math.Ceiling(totalWine);
Console.WriteLine($"Good harvest this year! Total wine: {totalWine} liters.");
Console.WriteLine($"{wineForWorkers} liters left -> {winePerWorker} liters per person.");
}
else
{
totalWine = Math.Ceiling(totalWine);
double wineNeeded = Z - totalWine;
wineNeeded = Math.Floor(wineNeeded);
Console.WriteLine($"It will be a tough winter! More {wineNeeded} liters wine needed.");
}
}
}
}
Моля помогнете благодаря предварително !
Аз също срещам същият проблем 90/100, въпреки употребата на Math.Floor. Идеи, предположения или предложения?
using System;
public class Program
{
public static void Main()
{
int kvmX = int.Parse(Console.ReadLine());
double grapes1kvmY = double.Parse(Console.ReadLine());
int winePerLiterZ = int.Parse(Console.ReadLine());
int workers = int.Parse(Console.ReadLine());
double grapesAll = kvmX * grapes1kvmY;
double wineFromHarvest = ((0.4 * grapesAll) / 2.5);
if(wineFromHarvest >= winePerLiterZ)
{
double diff = Math.Floor(wineFromHarvest - winePerLiterZ);
double litetsPerPerson = Math.Ceiling (diff / workers);
Console.WriteLine("Good harvest this year! Total wine: {0} liters.",wineFromHarvest);
Console.WriteLine("{0} liters left -> {1} liters per person.", diff, litetsPerPerson);
}
else
{
double diff = Math.Floor(winePerLiterZ - wineFromHarvest);
Console.WriteLine("It will be a tough winter! More {0} liters wine needed." ,diff);
}
}
}
Slavena_cholakova double diff = Math.Floor(wineFromHarvest - winePerLiterZ); трябва да е закръглено нагоре.
Благодаря. Това пък аз съм го пропуснала. Все дребни детайли, но от значение. Но отново е 90/100
Извинявай, не бях пуснал кода и предположих че е само една грешка за един пример, но явно има още нещо:
Console.WriteLine("Good harvest this year! Total wine: {0} liters.",wineFromHarvest); трябва да е закръглено надолу.