Loading...

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

zhekov85 avatar zhekov85 0 Точки

Проблем със 7-ма задача "Световен рекорд по плуване"

Здравейте, няколко часа се блъскам и не получвама повече от 20/100 в judge. 

Ето кода: 

import java.util.Scanner;

public class WorldSwimmingRecord {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        double record = Double.parseDouble(scanner.nextLine());
        double range = Double.parseDouble(scanner.nextLine());
        double timeForOneMeter = Double.parseDouble(scanner.nextLine());
        double swimmingTime = range * timeForOneMeter;
        double extraTimePerOneMeter = Math.floor((range/15) * 12.5);
        double totalTime = swimmingTime + extraTimePerOneMeter;
        if (record <= totalTime){
            double needSeconds = totalTime - record;
            System.out.printf("No, he failed! He was %.2f seconds slower.", Math.floor(needSeconds));
        } else {
            System.out.printf(" Yes, he succeeded! The new world record is %.2f seconds.", totalTime);
        }
    }
}

ПС: Поствам кода така защото страницата на pastebin.com не работи.

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

Трябва да направиш следните 2 неща:

 

1. Големият проблем идва от изчислението

double extraTimePerOneMeter = Math.floor((range / 15) * 12.5);

Тук махни външните скоби, да остане само

double extraTimePerOneMeter = Math.floor(range / 15) * 12.5;

Заради това ти заминават 80-тe точки.

 

2. Махни Math.floor от израза

System.out.printf("No, he failed! He was %.2f seconds slower.", Math.floor(needSeconds));

в if-проверката, тук нямаш нужда от него. Ако направиш само промяната от т. 1, а оставиш това непроменено, ще ти коства 10 точки в Judge (т. е. ще вземеш 90/100).

 

С тези 2 промени ще си вземеш 100-те точки.

 

Иначе, ако искаш докрай да си изпипаш печатането, махни излишния интервал (преди "Yes, ...") в началото на израза

System.out.printf(" Yes, he succeeded! The new world record is %.2f seconds.", totalTime);

в else-проверката, макар че, доколкото виждам, това в случая Judge не го отбелязва като проблем.

 

Успех!

0
23/11/2019 20:39:06
zhekov85 avatar zhekov85 0 Точки

Получи се, много благодаря !!!

0
svephoto avatar svephoto 1191 Точки

Супер, поздравления!! И - моля. :-)

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