Професионална програма
Loading...
Borislav_Vulkov avatar Borislav_Vulkov 54 Точки

Здравей, 
ето и моето решение на тази задача на C#, което дава 100/100 Judge. Мосля, че кода кода е оптимизирам достатъчно но ще ми е интересно и полсезно ако някой може да даде идеи за по-добра оптимизация. 


======================================

using System;

namespace Hotel_Room
{
    class Program
    {
        static void Main()
        {
            //Inputs
            string month = Console.ReadLine();                                             //Month of stay.
            byte nights = Convert.ToByte(Console.ReadLine());                    //Number of nights.

            decimal priceApartment =0m;
            decimal priceStudio = 0m;
            decimal discountApartment = 0m;
            decimal discountStudio = 0m;

            //Logic
            if (month == "May" || month == "October")                                    //Checks the month is it May or October.
            {
                priceApartment = nights * 65m;                                                 //Calculate the price for an apartment.
                priceStudio = nights * 50m;                                                       //Calculate the price for a studio.

                if (nights > 7)                                                                             //Check for discount for a studio.
                {
                    if (nights <= 14)
                    {
                        discountStudio = (priceStudio / 100) * 5;                          //Calculates the discount 5% for a stdio.
                    }
                    else
                    {
                        discountStudio = (priceStudio / 100) * 30;                        //Calculates the discount 30% for a stdio.
                    }
                }
            }

            if (month == "June" || month == "September")                              //Checks the month is it June or September.
            {
                priceApartment = nights * 68.7m;                                             //Calculate the price for an apartment.
                priceStudio = nights * 75.2m;                                                   //Calculate the price for a studio.

                if (nights > 14)                                                                          //Check for discount for a studio.
                {
                    discountStudio = (priceStudio / 100) * 20;                           //Calculates the discount 20% for a stdio.
                }
            }

            if (month == "July" || month == "August")                                    //Checks the month is it July or August.
            {
                priceApartment = nights * 77m;                                               //Calculate the price for an apartment.
                priceStudio = nights * 76m;                                                     //Calculate the price for a studio.
            }

            if (nights > 14)                                                                             //Check for discount for an apartment.
            {
                discountApartment = (priceApartment / 100) * 10;                  //Calculates the discount 10 % for an apartment.
            }

            priceApartment = priceApartment - discountApartment;             //Calculate the final price for an apartment.
            priceStudio = priceStudio - discountStudio;                                //Calculate the final price for a studio.

            //Outputs
            Console.WriteLine("Apartment: {0:F2} lv.", priceApartment);
            Console.WriteLine("Studio: {0:F2} lv.", priceStudio);
        }
    }
}

======================================

Поздрави,
Боби

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