Loading...
niki_dalgia avatar niki_dalgia 5 Точки

Проблем със задачата Лютеница

Не мога да разбера къде греша? Ето условието, при подадените от мен вход и изход ми дава същия резултат като в примера, а в Judge ми изкарва 0 от 100 точки. Ето линк към задачата - https://judge.softuni.bg/Contests/Practice/Index/828#1

Интересува ме къде е мойта грешка в МОЕТО решение, не ме интересуват други решения!

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace _2.moe
{
    class Program
    {
        static void Main(string[] args)
        {
            double KolDom = double.Parse(Console.ReadLine());
            int KolKaset = int.Parse(Console.ReadLine());
            int KolBur = int.Parse(Console.ReadLine());

            var ObshLiut = KolDom / 5;
            var Burkani = ObshLiut / 0.535;
            var Kasetki = Burkani / 20;
           
            if (Kasetki > 400)
            {
                var OstKaset = Kasetki - 400;
                var BurkOsavat = Math.Floor(Burkani - (400 * KolBur));
                Console.WriteLine($"Total lutenica: {ObshLiut:f0} kilograms.");
                Console.WriteLine($"{Math.Floor(OstKaset):f0} boxes left.");
                Console.WriteLine($"{BurkOsavat:f0} jars left.");
            }
            else if (Kasetki<520)
            {
                var KasetiNest = Burkani / 36;
                var KasNedost = Math.Floor(520 - KasetiNest);
                var OstKaset = Math.Floor(Kasetki - 400);
                var BurkNedost = Math.Floor((520 * KolBur) - Burkani);
                Console.WriteLine($"Total lutenica: {ObshLiut:f0} kilograms.");
                Console.WriteLine($"{KasNedost:f0} more boxes needed.");
                Console.WriteLine(($"{Math.Floor(BurkNedost):f0} more jars needed."));

            }
        }
    }
}
 

Тагове:
-2
Programming Basics
inkarnasion avatar inkarnasion 278 Точки
Best Answer

Да кажа и аз....Както колегите ти казаха, чети си условието, това че лектора е казал че втора задача се решава по него не означава да го препишеш буквално а да прочетеш внимателно и да видиш решението защото така както си го направил ще ти работи само по примерите, но в Джъдж не са само тия два примера а има още 8..... Знаеш ли че е по трудно да намериш грешката в чуждо решение отколкото да напишеш ново работещо такова.И понеже искаш да видиш ГРЕШКИТЕ в ТВОЕТО решение ( Всички уравнения ти бяха грешни), ето заповядай, оправих ти го, като грешките ти съм ги закоментирал, а отдолу с твоите променливи съм написал правилните уравнения........

 

 

https://pastebin.com/6PJV1wP5

 

 

Дава 100/100 в Джъдж.

3
02/12/2017 18:20:54
niki_dalgia avatar niki_dalgia 5 Точки

Благодаря! 

И съжалявам, че ти създадох такъв голям проблем, да оправиш МОЕТО решение, но това е начина, по който аз мога да реша задачата и съответно да я сбъркам на 100 места, ако просто гледам някое друго решение, аз ще го разбера, но какво от това, като никога няма да ми дойде на ум да го направя по дадения пример, заради това исках да видя решение по моя пример! :)

1
inkarnasion avatar inkarnasion 278 Точки

Ами решението е да четеш внимателно условието. Първо вместо да сложиш променливите по условие то, ти слагаш тези от примерите.След това не си го дочел до край, там са написали че трябва решенията да се закръглят до по малкото число, което означава всички, а ти беше сложил Math.Floor само на две от решенията а първото го беше пропуснал. Освен това във второто условие беше сложил променлива от първото. Така че като събереш всичките грешки и се получава наистина лютеница :) 

0
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.