Софтуерно Инженерство
Loading...
+ Нов въпрос
expressingx avatar expressingx 21 Точки

Drunk Ani - C# Basics Lab 16 August 2015

Здравейте,

Подготвям се за изпита колкото и да ми е тегаво, стигнах до въпросната задача и с нулевия тест всичко точно. Качвам в judge и минава 3 теста, но последния не и не знам защо. Някой който я е решавал и е получил 100 точки да подскаже къде ми е грешката и защо на последния тест не минава? 

Условието: https://judge.softuni.bg/Contests/Practice/DownloadResource/681

Кода: https://github.com/DenisIvanovx/C-SoftUni---Lab-16-August-2015/blob/master/DrunkAni

Тагове:
KatyaMarincheva avatar KatyaMarincheva 572 Точки

Здравей Денис,

Много подредено и не overkill-нато решение - поздравления! Из форума има често решения с толкова заобиколки, че няма смисъл да се поправят.

Constraints

  • The number N is an integer in the range [0… 4,000,000,000] inclusive.

Т.е. последния ти тест не се побира в int - смени типа данни и вземаш 100 точки от judge.

1
aleksshao avatar aleksshao 19 Точки

Ето решението и на първата задача от този [EXAM], защото никъде не вядях решението :)

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

class BaiIvanAdventures
{
    static void Main()
    {
        int n = int.Parse(Console.ReadLine());
        double moneyEarn = double.Parse(Console.ReadLine());
        double litersAlcohol = double.Parse(Console.ReadLine());
        double boughtDrink = 0;

        switch (n)
        {
            case 0: boughtDrink = moneyEarn / 25.0d; break;
            case 1: boughtDrink = moneyEarn / 21.0d; break;
            case 2: boughtDrink = moneyEarn / 14.0d; break;
            case 3: boughtDrink = moneyEarn / 17.0d; break;
            case 4: boughtDrink = moneyEarn / 45.0d; break;
            case 5: boughtDrink = moneyEarn / 59.0d; break;
            case 6: boughtDrink = moneyEarn / 42.0d; break;
            default: break;
        }

        string status;
        if (boughtDrink > 1.5)
        {
            status = "very drunk";
        }
        else if (boughtDrink >= 1.0)
        {
            status = "drunk";
        }
        else
        {
            status = "sober";
        }

        if (litersAlcohol < boughtDrink)
        {
            Console.WriteLine(
                "Bai Ivan is {0} and very happy and he shared {1:f2} l. of alcohol with his friends"
                , status, boughtDrink - litersAlcohol);
        }
        else if (litersAlcohol == boughtDrink)
        {
           Console.WriteLine(
               "Bai Ivan is {0} and happy. He is as drunk as he wanted",
               status);
        }
        else
        {
            Console.WriteLine(
                "Bai Ivan is {0} and quite sad. He wanted to drink another {1:f2} l. of alcohol",
                status,
                litersAlcohol - boughtDrink);
        }
    }
}

0
indieza avatar indieza 46 Точки

Това е моето решение дано да ти помогне. Цък laugh

0
14/01/2016 18:53:03