Loading...

Във форума е въведено ограничение, което позволява на потребителите единствено да разглеждат публикуваните въпроси.

denitsadudinska avatar denitsadudinska 0 Точки

Three brothers

Здравейте,

Може ли някой да ми помогне да разбера къде греша.

Бих се радвала, ако ми дадете повече обяснения.

 

https://judge.softuni.bg/Contests/Practice/Index/784#1

 

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

namespace Three_Brothers
{
    class Program
    {
        static void Main(string[] args)
        {
            double firstBrother = double.Parse(Console.ReadLine());
            double secondBrother = double.Parse(Console.ReadLine());
            double thirdBrother = double.Parse(Console.ReadLine());
            double fatherFishing = double.Parse(Console.ReadLine());

            var totalTime = 1 / (1 / firstBrother + 1 / secondBrother + 1 / thirdBrother);
            var breakTime= totalTime * 0.15;
            var remainingTime = fatherFishing - breakTime;

            if (remainingTime > 0)

            {
                Console.WriteLine("Yes, there is a surprise-time left-{remaininTime:f0");
            }

            else
            {
                Console.WriteLine("No, there isn’t a surprise - shortage of time -{remaininTime:f0");
            }
        }
    }
}

Благодаря предварително!

Тагове:
0
Programming Basics
tanyta78 avatar tanyta78 16 Точки
Best Answer

Това са корекциите на кода.

Първо не си изчислила правилно оставащото време.При изхода трябва много добре да гледаш условието. Има изискване за закръгляне и т.н.

Надявам се да съм помогнала!

using System;

namespace Three_Brothers
{
    class Program
    {
        static void Main(string[] args)
        {
            double firstBrother = double.Parse(Console.ReadLine());
            double secondBrother = double.Parse(Console.ReadLine());
            double thirdBrother = double.Parse(Console.ReadLine());
            double fatherFishing = double.Parse(Console.ReadLine());

            var totalTime = 1 / (1 / firstBrother + 1 / secondBrother + 1 / thirdBrother);
            var breakTime = totalTime * 0.15;

            totalTime += breakTime;
            var remainingTime = fatherFishing -totalTime;
            
            Console.WriteLine($"Cleaning time: {totalTime:f2}");
            if (remainingTime > 0)
                
            {
                Console.WriteLine($"Yes, there is a surprise - time left -> {Math.Floor(remainingTime)} hours.");
            }

            else
            {
                Console.WriteLine($"No, there isn't a surprise - shortage of time -> { Math.Abs(Math.Floor(remainingTime))} hours.");
            }
        }
    }
}

 

0
IvanGagov avatar IvanGagov -1 Точки

Това е моето решение на което получавам 80 точкни и не мога да разбера къде ми е грешката.

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

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            double a = double.Parse(Console.ReadLine());
            double b = double.Parse(Console.ReadLine());
            double c = double.Parse(Console.ReadLine());
            double d = double.Parse(Console.ReadLine());

            var all = 1 / (1 / a + 1 / b + 1 / c);
            var br = all * 0.15;
            all += br;

            var diff = d - all;
            

                Console.WriteLine("Cleaning time: {0}", Math.Round(all, 2));

                if (diff > 0)
                {
                    Console.WriteLine("Yes, there is a surprise - time left -> {0} hours.", Math.Floor(diff));
                }
                else
                {
                    Console.WriteLine("No, there isn't a surprise - shortage of time -> {0} hours.", Math.Abs(Math.Floor(diff)));
                }

            }


        }
    }

0
25/09/2017 23:04:29
MayaLudmilova avatar MayaLudmilova 3 Точки

Здравейте , 

Това е моят код... къде гледах, къде го правих сама... и пак не стават сметките :(

Може ли някой да ми каже къде греша?

https://pastebin.com/9cpyVzuB

0
andy94 avatar andy94 58 Точки

Зравейте забелязвам че масово е използвано Math.round -- Ако искате закръглите към по-голямо цяло число използвайте Math.Ceiling() а към по малко цяло използвайте Math.Floor(). Относно печатането накрая закръглянето за 2 знака използваите :F2 надявам се да съм бил полезен. Решение -> https://pastebin.com/M9Lw23Z6. Поздрави!

0
29/09/2017 22:12:49
MayaLudmilova avatar MayaLudmilova 3 Точки

Благодаря за съветите andy94 :)

Забелязах също, че за да изчислите времето за отдих умножавате по 1.15 , а не 0.15, както е в моя случай... това сякаш също помага за изчисленията :)

Поздрави!

0
andy94 avatar andy94 58 Точки

Ако искам към нещо да добавя 15 процента примерно * 1.15, ако искам да извадя 10 -> * 0.90 изисква се малко време да се свикне но е много удобно :)

0
MayaLudmilova avatar MayaLudmilova 3 Точки

Благодаря за помоща andy94 :) Беше много полезно!

1
zlatnata_obuvka avatar zlatnata_obuvka 1 Точки

Всичко в задачата е ясно, но каква е логиката на общото време на братята, защо така се изчислява.

"var totalTime = 1 / (1 / firstBrother + 1 / secondBrother + 1 / thirdBrother);"

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