Skip to content

Commit e2da720

Browse files
authored
ye also shall bear witness
And ye also shall bear witness, because ye have been with me from the beginning. (John 15:27)
1 parent 5bddd5f commit e2da720

1 file changed

Lines changed: 75 additions & 0 deletions

File tree

Lines changed: 75 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,75 @@
1+
2+
//And ye also shall bear witness, because ye have been with me from the beginning. (John 15:27)
3+
4+
package com.javarush.task.task29.task2910;
5+
6+
/*
7+
Это архаичное слово "Биатлон"
8+
*/
9+
10+
public class Solution {
11+
12+
public static void main(String[] args) {
13+
Game game = new Game();
14+
printDelimiter();
15+
game.startCompetition();
16+
System.out.println("\n\nВСЕ РЕЗУЛЬТАТЫ:");
17+
game.printAllResults();
18+
printDelimiter();
19+
System.out.println("\n\nСПОРТСМЕНЫ С ТАКИМ ЖЕ ИТОГОВЫМ ВРЕМЕНЕМ, КАК У КОНТРОЛЬНОГО СПОРТСМЕНА:");
20+
game.printSportsmanWithEqualTime();
21+
printDelimiter();
22+
}
23+
24+
private static void printDelimiter() {
25+
System.out.println("=================================================================================================");
26+
}
27+
}
28+
29+
/*
30+
Это архаичное слово "Биатлон"
31+
32+
Амиго, представляешь, в 21 веке существовал такой вид спорта – биатлон. Люди ездили на лыжах и стреляли на подготовленных площадках по мишеням. За одну серию стрельбы нужно было закрыть 5 мишеней. Стрельбы происходили как стоя, так и лежа, но не будем вдаваться в подробности. У лучших представителей рода человеческого средняя точность стрельбы достигала 90%, у крепких середнячков – 81,5%.
33+
34+
Я написал программу, которая создает соревнование, добавляет в него 30 спортсменов-биатлонистов. Каждому из них случайным образом выставляется точность (в диапазоне от 0,815 до 0,900). Штраф за каждый промах – плюс 20 секунд к результату. Еще у соревнования задается количество огневых рубежей – 4 и дистанция, которую биатлонисты должны преодолеть – 20 км.
35+
36+
37+
38+
Так же я создал контрольного спортсмена, у которого захардкожены показатели:
39+
40+
Скорость: 20 км/час;
41+
42+
Вероятность попадания: 0,900 (90%);
43+
44+
Количество промахов: 2 (Всего нужно попасть 20 раз. При точности 90 процентов ожидается 2 промаха);
45+
46+
Нужно проехать 20 км со скоростью 20 км/час. Необходимое время - 1 час, то есть 3600 секунд.
47+
48+
Время гонки (с учетом штрафных секунд): 3600 + 2 * 20 = 3640 секунд.
49+
50+
Я хочу определить, с какой скоростью должен ехать каждый спортсмен, при его случайном количестве промахов, чтобы результат в секундах был такой же, как и у контрольного спортсмена. В начале я вывожу результат контрольного спортсмена, потом все результаты. В конце я вывожу всех спортсменов, у которых время такое же, как и у контрольного спортсмена. У некоторых спортсменов за счет округления итоговое время отличается на доли секунды. Такие нам не нужны. У остальных время гонки ровно 3640 секунд, как и у контрольного спортсмена, но они не выводятся в секции "СПОРТСМЕНЫ С ТАКИМ ЖЕ ИТОГОВЫМ ВРЕМЕНЕМ, КАК У КОНТРОЛЬНОГО СПОРТСМЕНА:".
51+
52+
53+
54+
Твоя задача: сделать одно изменение в коде, чтобы исправить найденный баг.
55+
56+
Обрати внимание: все округления правильные, и новых добавлять не нужно!
57+
58+
59+
60+
61+
62+
Требования:
63+
64+
1. Запрещено изменять типы данных констант.
65+
66+
2. Вывод на экран в секции "СПОРТСМЕНЫ С ТАКИМ ЖЕ ИТОГОВЫМ ВРЕМЕНЕМ, КАК У КОНТРОЛЬНОГО СПОРТСМЕНА:" должен содержать всех спортсменов, у которых такое же время, как и у контрольного спортсмена.
67+
68+
3. Сделай одно изменение в классе Game.
69+
70+
4. Класс Constants не изменяй.
71+
72+
5. Класс Solution не изменяй.
73+
74+
6. Класс Sportsman не изменяй.
75+
*/

0 commit comments

Comments
 (0)