Loading...
kirildodov avatar kirildodov 0 Точки

Задача 05. Fishing Boat

Здравейте!

Не откривам къде бъркам. Judge ми дава 60/100 и не ми посочва конкретна грешка! Въвеждайки входовете от условието на задачата ми връща верни отговори. Моля помогнете! Ето го кодът ми:

 

using System;
                    
public class Program
{
    public static void Main()
    {
        
        int budget = int.Parse(Console.ReadLine());
        string season = Console.ReadLine();
        int fishermen = int.Parse(Console.ReadLine());
        
        double price = 0.0;
        double discount = 0.0;
        
        switch (season)
        {
            case "Spring":
                price = 3000;
                break;
            
            case "Summer":
                price = 4200;
                break;
            
            case "Autumn":
                price = 4200;
                break;
            
            case "Winter":
                price = 2600;
                break;
        }
                
        if (fishermen <= 6)
        {
            discount = 0.10;
        }
        else if (fishermen >= 7 && fishermen <= 11)
        {
            discount = 0.15;
        }
        else 
        {
            discount = 0.25;
        }
                
        if (season != "Autumn" && fishermen % 2 == 0)
        {
            discount = discount + 0.05;
        }
        
        double totalPrice = price - price * discount;
        double money = Math.Abs(totalPrice - budget);
        
        if (totalPrice > budget)
        {
            Console.WriteLine("Not enough money! You need {0:f2} leva.", money);
        }
        else if (budget >= totalPrice)
        {
            Console.WriteLine("Yes! You have {0:f2} leva left.", money);
        }
                
    }
}

Тагове:
0
Programming Basics
chrisi2712 avatar chrisi2712 272 Точки

Вашият код 100/100. Тъй като отстъпките се начисляват една след друга, трябва да се изчисляват по отделно, а не накрая общо.

 

using System;
                    
public class Program
{
    public static void Main()
    {
        
        int budget = int.Parse(Console.ReadLine());
        string season = Console.ReadLine();
        int fishermen = int.Parse(Console.ReadLine());
        
        double price = 0.0;
        double discount = 0.0;
        
        switch (season)
        {
            case "Spring":
                price = 3000;
                break;
            
            case "Summer":
                price = 4200;
                break;
            
            case "Autumn":
                price = 4200;
                break;
            
            case "Winter":
                price = 2600;
                break;
        }
                
        if (fishermen <= 6)
        {
          price-=price*0.1;
        }
        else if (fishermen >= 7 && fishermen <= 11)
        {
            price-=price*0.15;
        }
        else 
        {
            price-=price*0.25;
        }
                
        if (season != "Autumn" && fishermen % 2 == 0)
        {
             price-=price*0.05;
        }
        
       
        double money = Math.Abs(price - budget);
        
        if (price > budget)
        {
            Console.WriteLine("Not enough money! You need {0:f2} leva.", money);
        }
        else if (budget >= price)
        {
            Console.WriteLine("Yes! You have {0:f2} leva left.", money);
        }
                
    }
}

0
kirildodov avatar kirildodov 0 Точки

Много благодаря!

Разбрах къде бъркам!

Само се чудя как мога да си хвана грешката, когато Judge не ми посочва конкретна такава (както е в случая)?

0
Soulfood avatar Soulfood 1 Точки

Привет,

дали можете да откриете 10-те разлики https://pastebin.com/scMW7ChC с по-горния код, т.к аз не намирам .... даже преправях моя вариант за да го изравня максималко с по-горния вариант ... и винаги си получавам 86/100 ;)

А съм любопитен къде греша ...

0
Savas avatar Savas 38 Точки

На ред 62 -->                  if (budget > cost)
логиката изисква да е :   if (budget >= cost)

може цената на лодката да "глътне" всички пари на рибарите и да ги остави без стотинка дори, но те ще успят да наемат лодката

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