Loading...

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

Kiril951 avatar Kiril951 0 Точки

Малко помощ за тази задача

https://pastebin.com/WHLtaeBH

75/100 ми дава решението и се чудя как да направя проверка за третия тест, където секундите са 0.00, като същевременно да не ми разбива другите тестове. 

 

Задача 2.  Скоростно изкачване

Георги решава да подобри рекорда за най-бързо изкачване на връх Монблан. На конзолата се въвежда рекордът в секунди, който Георги трябва да подобри, разстоянието в метри, което трябва да изкачи и времето в секунди, за което той изкачва 1 метър. Да се напише програма, която изчислява дали се е справил със задачата, като се има предвид, че: наклона на терена го забавя на всеки 50 м. с 30 секунди. Да се изчисли времето в секунди, за което Георги ще изкачи разстоянието до върха и разликата спрямо рекорда.

Когато се изчислява колко пъти Георги ще се забави в резултат на наклона на терена, резултатът трябва да се закръгли надолу до най-близкото цяло число.

Вход

От конзолата се четат 3 реда:

  1. Рекордът в секунди – реално число в интервала [0.00 … 100000.00]
  2. Разстоянието в метри – реално число в интервала [0.00 … 100000.00]
  3. Времето в секунди, за което изкачва 1 м. – реално число в интервала [0.00 … 1000.00]

Изход

Отпечатването на конзолата зависи от резултата:

  • Ако Георги е подобрил рекорда отпечатваме:
    • " Yes! The new record is {времето на Георги} seconds."
  • Ако НЕ е подобрил рекорда отпечатваме:
    • "No! He was {недостигащите секунди} seconds slower."

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

Примерен вход и изход

Вход

Изход

Обяснения

10164

1400

25

No! He was 25676.00 seconds slower.

Георги трябва да изкачи 1400 м.:  1400 * 25 = 35000 сек.

На всеки 50 м. към времето му се добавят 30 сек.:

(1400 / 50) * 30 = 840 сек.

Общо време: 35000 + 840 = 35840 сек.

Но понеже 10164 < 35840, значи не е подобрил рекорда.

Времето, което не му е стигнало за да подобри рекорда:

35840 - 10164 = 25676 сек.

Вход

Изход

Обяснения

5554.36

1340

3.23

Yes! The new record is 5108.20 seconds.

Георги трябва да изкачи 1340 м.: 1340 * 3.23 = 4328.20 сек.

На всеки 50 м. към времето му се добавят 30 сек.:

1340/ 50 = 26.8 -> закръглено надолу = 26 пъти се добавят 30 секунди: 26 * 30 = 780 сек.

Общо време: 4328.20 + 780 = 5108.20 сек.

Рекордът е подобрен, понеже 5108.20 < 5554.36

1377

389

3

No! He was 0.00 seconds slower.

 
Тагове:
0
Programming Basics with C#
kkaraivanov avatar kkaraivanov 486 Точки

Заповядай

static void Main(string[] args)
        {
            double record = double.Parse(Console.ReadLine());
            double distance = double.Parse(Console.ReadLine());
            double secondsMeter = double.Parse(Console.ReadLine());

            double climb = distance * secondsMeter;
            double slow = Math.Floor(distance / 50) * 30;
            double total = climb + slow;
            ;
            if (record <= total)
            {
                total -= record;
                Console.WriteLine($"No! He was {total:f2} seconds slower.");
            }
            else if (record > total)
            {
                slow = Math.Floor(distance / 50) * 30;
                total = climb + slow;
                Console.WriteLine($"Yes! The new record is {total:f2} seconds.");
            }
        }

 

1
Kiril951 avatar Kiril951 0 Точки

Благодаря... Несериозна грешка от моя странаindecision

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