Loading...
DimitarManasiev avatar DimitarManasiev 0 Точки

Дава ми 80 / 100 в Джъдж, Защо?

using System;

namespace WorldSwimmingRecord
{
    class Program
    {
        static void Main(string[] args)
        {
            double recordInSeconds = double.Parse(Console.ReadLine());
            double distanceInMeters = double.Parse(Console.ReadLine());
            double timeInSeconds = double.Parse(Console.ReadLine());

            double swimDistance = distanceInMeters * timeInSeconds;
            double addedTime = Math.Floor(distanceInMeters / 15) * 12.5;
            double totalTime = swimDistance + addedTime;

            if(totalTime > recordInSeconds)
            {
                Console.WriteLine($"No, he failed! He was {totalTime - recordInSeconds:F2} seconds slower.");
            }
            else
            {
                Console.WriteLine($" Yes, he succeeded! The new world record is {totalTime:F2} seconds.");
            }

 


        }
    }
}

 

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

първо на задачата --> в логиката на if-a се изисква да е >=... т.е Иван трябва да направи по-малко време... ако времето му е същото като на рекорда - не се брои за рекорд

 

Здрасти...
мислех да пиша в отделна тема за тази задача, но понеже вече си отворил тема за задачата (извинявай, че тръгвам на "ти") - ще подхвърля забележките си тук пък ако съставителите ги видят - добре...
--> единствения начин да достигнеш до вярно решение (100/100) е ако спазваш последователността на математическите операции (и закръгления), като са ги описали в докумнта към задачата иначе става грешка...

например аз имам навик винаги да смятам (каквото и да е към единица) --> изначално не ми харесва "15 м. с 12.5 секунди" - първото нещо което правя веднага е да сметна колко е забавянето за 1м --> и то е 0.8333333333333334сек... и от тук да си работя, НО в тази задача няма такава възможност защото :

ето как звучи условието: "Когато се изчислява колко пъти??? (явно се има предвид: целочислено деление на всеки 15 метра... от тук идва "пъти") Иванчо ще се забави, в резултат на съпротивлението на водата, резултатът трябва да се закръгли надолу до най-близкото цяло число."

(втория пример, по "моя начин") --> 3017м * 0.8333333333333334 = 2514.16666666666666 --> 2514

(втория пример, следвайки логиката на съставителите) --> 3017/ 15 = 201 * 12.5 = 2512.50 сек.
т.е целочислено деление 3017/15 и после вече умножение по 12,5 ...

в  условието има неяснота, която ако няма примери - ще е трудно да се стигне до 100/100

 

по долу е решение за c# :

double theRecordSEC = double.Parse(Console.ReadLine());
double targetDistanceMETRE = double.Parse(Console.ReadLine());
double ivanSpeed1mPerSec = double.Parse(Console.ReadLine());
            
double ivanSwim = targetDistanceMETRE * ivanSpeed1mPerSec;
double pyty = Math.Floor(targetDistanceMETRE / 15);
double delay = pyty * 12.5;
            
double ivanTime = ivanSwim + delay;

if (ivanTime < theRecordSEC)
{
    Console.WriteLine("Yes, he succeeded! The new world record is {0:f2} seconds.", ivanTime);
}
else
{
     Console.WriteLine("No, he failed! He was {0:f2} seconds slower.", (ivanTime - theRecordSEC));
}

 

 

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