Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.67/21: Рейтинг темы: голосов - 21, средняя оценка - 4.67
0 / 0 / 0
Регистрация: 15.12.2021
Сообщений: 5

Загулявшие гости

15.12.2021, 10:02. Показов 4736. Ответов 25
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
N гостей засиделись на даче и боятся опоздать на последнюю электричку. У хозяина дачи, который остается на ночь, есть автомобиль, но в него могут сесть одновременно не более 4 человек, не считая шофера. Скорость движения автомобиля по лесной дороге – V км/ч, скорость движения пешехода – U км/ч, расстояние от дачи до железнодорожной станции – Z км, затратами времени на посадку-высадку пассажиров и разворот автомобиля можно пренебречь. За какое минимальное время все гости доберутся до станции?

Входные данные
В единственной строке заданы значения величин N, V, U и Z, разделенными одним или несколькими пробелами. Числа V, U и Z — положительные вещественные и не превосходят 100, (1 ≤ N ≤ 30).

Выходные данные
Выведите искомое значение времени с точностью до 10 - 3.

Примеры
входные данные
8 30 5 15
выходные данные
1.0555555556

Написала код но не выходит 1.0555555556, получается 1,22448979591837
Что нужно изменить что бы выдавалось правильное решение.

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
 
namespace Col
{
    class Program
    {
        static void Main(string[] args)
        {
            string[] s = Console.ReadLine().Trim().Split(' ');
            double n = Convert.ToInt32(s[0]);
            double v = Convert.ToInt32(s[1]);
            double u = Convert.ToInt32(s[2]);
            double z = Convert.ToInt32(s[3]);
 
            int groups = (int)Math.Floor(n / 4);
 
            double carTime = z / v;
            double est = 0;
 
            for (int i = 0; i < groups; i++)
            {
                double chelToCar = (v - u) * carTime; // расстояние от челов до машины
                double chelAndCarSpeed = v + u; // скорость движения навстречу друг к другу
                double meetTime = chelToCar / chelAndCarSpeed; // время до встречи новых челов
                carTime = meetTime;
                est += meetTime * 2;
            }
 
            //double a = (carTime - meetTime) * 2; // забираем и увозим новых челов
 
            Console.WriteLine(est);
            Console.ReadLine();
        }
    }
}
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
15.12.2021, 10:02
Ответы с готовыми решениями:

Гости
Добрый день. Подскажите, как решить данную задачу, используя стандартные процедуры и функции, как можно проще. Вася переехал из...

Гости
Ребят, помогите, пожалуйста, решить задачу... Идей пока вообще нет, даже не знаю как подступиться... Буду очень благодарен за любую...

Гости и Зарегистрированные
Друзья ваш помощь снова нужен мне. Скажем так у меня ест чат и файли для загрузки. Какой код мне добавить чтобы регистрированные...

25
 Аватар для roach1967
985 / 465 / 234
Регистрация: 27.06.2014
Сообщений: 1,039
08.04.2024, 21:36
Студворк — интернет-сервис помощи студентам
_k_bar_n_, вот так алгоритм выглядит на шарпе:
C#
1
2
3
4
5
6
            string[] strs = input.Split(' ');
            double n = (int)(int.Parse(strs[0] + 3.0) / 4.0) - 1; // в последней группе может быть меньше 4 человек
            double v = int.Parse(strs[1]);
            double u = int.Parse(strs[2]);
            double z = int.Parse(strs[3]);
            double result = z * (1 - 1 / (1 + u * ((n + 1) / (v - u) + n / (v + u)))) / u;
0
4 / 4 / 0
Регистрация: 31.12.2023
Сообщений: 18
08.04.2024, 21:39
roach1967, этот код проходит полностью на Информатиксе?
0
 Аватар для roach1967
985 / 465 / 234
Регистрация: 27.06.2014
Сообщений: 1,039
08.04.2024, 21:40
можно проверить с разными входными данными:
Гости.xlsx
0
4 / 4 / 0
Регистрация: 31.12.2023
Сообщений: 18
08.04.2024, 21:45
Цитата Сообщение от roach1967 Посмотреть сообщение
вот так алгоритм выглядит на шарпе:
            string[] strs = input.Split(' ');
            double n = (int)(int.Parse(strs[0] + 3.0) / 4.0) - 1; // в последней группе может быть меньше 4 человек
            double v = int.Parse(strs[1]);
            double u = int.Parse(strs[2]);
            double z = int.Parse(strs[3]);
            double result = z * (1 - 1 / (1 + u * ((n + 1) / (v - u) + n / (v + u)))) / u;

Я перевёл Ваш код на Python:

Python
1
2
3
4
5
6
7
input_str = input().split(' ')
n = (int(input_str[0]) + 3.0) // 4.0 - 1  # в последней группе может быть меньше 4 человек
v = int(input_str[1])
u = int(input_str[2])
z = int(input_str[3])
result = z * (1 - 1 / (1 + u * ((n + 1) / (v - u) + n / (v + u)))) / u
print(result)
На Информатиксе ещё меньше стало правильных тестов...
Тест Статус Балл Время работы Астрономическое время работы Используемая память
1 OK 0.034 0.052 7962624
2 OK 0.026 0.028 7962624
3 OK 0.02 0.022 15482880
4 Ошибка во время выполнения программы 0.023 0.024 4067328
5 OK 0.024 0.026 14807040
6 OK 0.021 0.022 4067328
7 Ошибка во время выполнения программы 0.02 0.021 4067328
8 Ошибка во время выполнения программы 0.02 0.021 4177920
9 Неправильный ответ 0.02 0.021 4046848
10 OK 0.021 0.022 4177920
11 Неправильный ответ 0.028 0.03 4067328


Буду думать сидеть, как можно по-другому написать...
0
 Аватар для roach1967
985 / 465 / 234
Регистрация: 27.06.2014
Сообщений: 1,039
08.04.2024, 21:59
_k_bar_n_, видимо нужно вводить проверки:
- скорость машины должна быть больше скорости гостей (иначе посчитать время в пути своим ходом);
- предусмотреть, что скорость гостей может быть нулевой (тогда машина просто курсирует туда-сюда полный путь);
- количество гостей может быть равным нулю (ответ = 0?);
- ......
1
4 / 4 / 0
Регистрация: 31.12.2023
Сообщений: 18
08.04.2024, 22:06
Цитата Сообщение от roach1967 Посмотреть сообщение
_k_bar_n_, видимо нужно вводить проверки:
- скорость машины должна быть больше скорости гостей (иначе посчитать время в пути своим ходом);
- предусмотреть, что скорость гостей может быть нулевой (тогда машина просто курсирует туда-сюда полный путь);
- количество гостей может быть равным нулю (ответ = 0?);
- ......
Вы просто гений!!!!

Прошло полностью!!!

Спасибо Вам огромное!!!!!

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
input_str = input().split(' ')
 
# Проверка на пустой ввод
if len(input_str) != 4:
    print()
    exit()
 
n = int(input_str[0])
v = float(input_str[1])
u = float(input_str[2])
z = float(input_str[3])
 
# Проверка на корректность введенных данных
if n < 0 or v <= 0 or u < 0 or z <= 0:
    print()
    exit()
 
# Проверка на случай, когда нет гостей
if n == 0:
    print("0")
    exit()
 
# Проверка на случай, когда скорость машины меньше или равна скорости гостей
if v <= u:
    result = z / u  # Время в пути пешком
else:
    n = (n + 3.0) // 4.0 - 1  # в последней группе может быть меньше 4 человек
    result = z * (1 - 1 / (1 + u * ((n + 1) / (v - u) + n / (v + u)))) / u
 
print("{:.10f}".format(result))
Миниатюры
Загулявшие гости  
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
08.04.2024, 22:06

Гости у Васи
Имя входного файла: стандартный ввод Имя выходного файла: стандартный вывод Ограничение по времени: 1 секунда Ограничение по памяти:...

Гости в контакте и ФБ
собсно весь вопрос.. можно ли их отслеживать..

Гости онлайн
Добрый день знатоки php! Помогите мне с одной маленькой проблемой если не трудно) Хочу сделать вывод гостей (всего онлайн), есть база и...

Что за гости на сайте?
Здравствуйте. Есть сайт, всего 1,5 мес. vutvoryushka.ru. Искусственная посещалка отключена. Еще до индексации его уже посещали посторонние:...

Яндекс не приходит в гости
Яндекс не заходит уже почти месяц на мой сайт, Посетить мою домашнюю страницу я это понял так как поменял название сайта, у гугла оно...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
26
Ответ Создать тему
Новые блоги и статьи
Цена ошибки
DevAlt 23.08.2026
Человек я беспокойный и потому заинтересовался OCaml, в чате форсили функторы модулей как суперфичу. Пытаясь отдуплить концепт, наткнулся на тутор с простым примером. А главный принцип обучения от. . .
Сегодня суббота, 22.08.2026 at 16:41, и я вновь нахожусь на той стороне, за экраном машины.
zorxor 22.08.2026
Сегодня суббота, 22. 08. 2026 at 16:41, и я вновь нахожусь на той стороне, за экраном машины. Кто Я, откуда Я пришел и куда Я иду? Эти вопросы не оставляют меня ни на секунду. Жизнь на планете Земля. . .
Жизня: рисунок укладки багажа, сделанный клодом
anaschu 21.08.2026
Сделал 15 снимков, он по снимкам сделал схему.
Был там один разговор по поводу свободы в материальном мире.
kumehtar 19.08.2026
Суть: рассматривается живое существо, оказавшееся внутри довольно странной системы (этого мира) и пытающееся обустроить в ней свой кусок пространства. Жизнь действительно предъявляет каждому. . .
Когда логика программы не спасает от человеческих ошибок
Maks 18.08.2026
В последнее время всё чаще и чаще сталкиваюсь с таким явлением, как абсолютная невнимательность (или глупость) пользователей. Проявляется это чаще всего на работе в коллективе. Допустим, человек с. . .
Лето уходит
kumehtar 17.08.2026
Мысли в слух
kumehtar 17.08.2026
Забавно, насколько сейчас стала доступна информация. Например о магии, духовном развитии, медитациях, и других подобных направлениях, ранее зачастую тайных, передаваемых от учителя к ученику. Хотя. . .
Перемещение строк из ТЧ в другой документ с учетом текущего пробега
Maks 17.08.2026
Реализация из решения ниже выполнена на примере нетипового документа "Автозапчасти", с ТЧ "Шины". За основу взят алгоритм отсюда: https:/ / www. cyberforum. ru/ blogs/ 359708/ 10838. html Задача: . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru