Loading...
em3ata avatar em3ata 2 Точки

Математически въпрос - Задача - Зала за танци

Привет колеги, решавах си задачата с танците и сблъсках със следния проблем и не мога да разбера логиката :D 

Защо като го напиша по първия начин работи, а по втория не ? 
 Логиката не е ли първо да се събере в скобите и после да се раздели ? -
или freeSpace дели на 2 те в скобите и след това събира ?

Благодаря :)

using System;

namespace ConsoleApp1
{
    class Program
    {
        static void Main(string[] args)
        {
            double hallLenght = double.Parse(Console.ReadLine());
            double hallWidth = double.Parse(Console.ReadLine());
            double wardrobeSide = double.Parse(Console.ReadLine());

            double hallArea = (hallLenght*100) * (hallWidth*100);

            double wardrobeArea = (wardrobeSide * wardrobeSide)*10000;

            double benchArea = hallArea / 10;
            double freeSpace = hallArea - benchArea - wardrobeArea;
            double dancerSpace = 40;
            double dancerMovement = 7000;
            double dancerCount =Math.Floor(freeSpace /(dancerSpace + dancerMovement)); //  Начин 1: Работи
            double dancerCount =Math.Floor((dancerSpace + dancerMovement)/freeSpace ); // Начин 2: Не работи
            Console.WriteLine(dancerCount);

        }
    }
}
 

0
Programming Basics with C#
medical_boy_sf avatar medical_boy_sf 16 Точки

Колега, двете нямат нищо общо, така че няма как да дават един и същи резултат. В единия случай freeSpace е делимо, а изразът в скобите е делител. Във втория е обратното. Няма как резултатът да е един и същ. Все едно да се пита защо 5 и 1/5 не са едно и също. Ако ползвам същия пример с Math.Floor(). В единия случай Math.Floor(5) = 5, във втория Math.Floor(1/5) = 0. Но предполагам, че просто не разбирам въпроса ти. Може ли да бъдеш малко по-конкретен? :)  Иначе да, изразът в скоби е с по-висок приоритет от делението.

0
04/02/2019 15:50:44
em3ata avatar em3ata 2 Точки

Ами всъщност, доста добре го обесни. Математиката ми бега. Втория начин ми връщаше резултат 0, което ти си написал. 

0
medical_boy_sf avatar medical_boy_sf 16 Точки

Като порешаваш малко повечко задачи по програмиране, щеш, не щеш, ще запълниш празнините. Само бъди постоянен и не се отказвай.

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