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#
MitakaBGpro avatar MitakaBGpro 14 Точки

Не мога да те разбера, колега. Прати ми условието ако може. 

0
em3ata avatar em3ata 2 Точки

https://softuni.bg/trainings/resources/officedocument/36986/exercise-problem-descriptions-programming-basics-with-csharp-january-2019/2210 Здрасти, задача 5, ама колегата по - долу ме простветли :D Благодаря :)

0
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
Iv_Konov avatar Iv_Konov 383 Точки

Здравей,

според мен със следното разсъждение ще разбереш логиката на вариант/начин 1:

freeSpace  = dancerCount * (dancerSpace + dancerMovement) - разместих с уможение двете страни на уравнението.
Общата свободна площ е равна на произведението на броката на танцьорите умножена по площта, от която се нуждае ЕДИН танцьор (стоене + движение).

Начин 2 - не излиза дименсионно. На второ място - разделяйки малката площ (dancerSpace + dancerMovement) на цялата свободна площ (freeSpace) ще получих число по-малко от 1, т.е. не е възможно и за един танцьор да не му стига място. Дано съм помогнал... :)

Поздрави,

Иван

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