Математический форум Math Help Planet
Обсуждение и решение задач по математике, физике, химии, экономике Теоретический раздел |
Часовой пояс: UTC + 3 часа [ Летнее время ] |
новый онлайн-сервис число, сумма и дата прописью |
|
Часовой пояс: UTC + 3 часа [ Летнее время ] |
Страница 1 из 1 |
[ Сообщений: 5 ] |
|
Автор | Сообщение | |
---|---|---|
Rhoxolan |
|
|
Пишу консольное приложение, которое должно просчитывать, сколько необходимо закупить кабеля при монтаже структурированной кабельной системы. Появилась необходимость составить математическую формулу, по которой можно высчитать, сколько кабельных пробросов можно сделать из одной бухты кабеля и сколько этих бухт нужно закупить. Например, имеем в каждой бухте по 305 метров кабеля. Имеем 50 кабельных линий, каждая по 50м метров. Исходя из этого, с одной бухты можно протянуть 6 линий, 5 метров выбрасывается. И даже если линий будет очень много, то оставшиеся 5 метров не должны подсчитываться. В итоге получаем, что необходимы 9 бухт по 305 м каждая. Другой пример - имеем те же 305 м в одной бухте, и 5 линий по 200 метров каждая. Допустим, это оптоволокно. И в этом примере нужно 5 бухт по 305 м, так как остаток в 105 метров мы использовать не можем. У меня получилось это решить путем логических вычислений на языке C++. Прикрепляю к теме скриншот кода, отображающего процесс логических вычислений. Если попробовать это описать не в виде кода, то получится следующее: 1)Умножаем длину линий на количество линий и получаем общую длину кабеля. 2)Отнимаем от метража кабеля в бухте остаток от деления метража кабеля в бухте на длину линии, и получаем значение метража линий с одной бухты. 2)Отнимаем от общей длины кабеля значение метража линий с одной бухты. К значению необходимого количества бухт добавляем 1 единицу. Если оставшееся значение общей длины кабеля больше, чем метраж кабеля в бухте, то повторяем процедуру до тех пор, пока значение общей длины кабеля будет меньшим, чем метраж кабеля в бухте. Если значение общей длины кабеля становится меньшим, чем метраж кабеля в бухте, добавляем 1 единицу к значению необходимого количества бухт и заканчиваем вычисление. Но, помимо этих вычислений, мне нужна математическая формула, по которой это можно просчитать. Буду рад, если кто-то мне с этим поможет. |
||
Вернуться к началу | ||
yihet |
|
|
Количество пробросов с одной бухты = длина бухты / длина кабельной линии (6 = 305 / 50)
Количество бухт = количество линий % количество пробросов с одной бухты + (1, если количество линий % количество пробросов с одной бухты, иначе 0), т.е. 9 = 50 / 6 + (50 % 6 ? 1 : 0), где "%" - остаток от деления, (<> ? <> : <>) - тернарный оператор Деление ("/") будет целочисленным, если его операнды целые. int num = len_b / len_line; |
||
Вернуться к началу | ||
guryev |
|
|
Запоздало, но всё же:
количество_бухт = ( общая_длина + метраж_кабеля_в_бухте - 1 ) / метраж_кабеля_в_бухте; Деление целочисленное, естественно. У вас не совсем точный алгоритм, например, если общая_длина == метраж_кабеля_в_бухте, одна бухта будет лишняя. |
||
Вернуться к началу | ||
yihet |
|
|
Не могу согласиться.
Допустим, количество_линий = 6, длина_линии = 50, тогда общая_длина = количество_линий * длина_линии = 300. Пусть метраж_кабеля_в_бухте = 300, что совпадает с общей длиной. Тогда Код: num = общая_длина / длина_линии = 6. amount = количество_линий / num + (количество_линий % num ? 1 : 0) = 6 / 6 + (0 ? 1 : 0) = 1 Быть может, я что-то упустил, но лишнюю бухту никому не должен :) |
||
Вернуться к началу | ||
guryev |
|
|
yihet писал(а): Быть может, я что-то упустил, но лишнюю бухту никому не должен Всё верно, я имел в виду решение ТС. Моё упущение - надо было об этом сказать. |
||
Вернуться к началу | ||
[ Сообщений: 5 ] |
Похожие темы | Автор | Ответы | Просмотры | Последнее сообщение |
---|---|---|---|---|
Составить математическую формулу используя условие
в форуме Начала анализа и Другие разделы школьной математики |
0 |
250 |
30 сен 2018, 16:47 |
|
Вывести формулу
в форуме Алгебра |
0 |
511 |
02 янв 2018, 16:49 |
|
Вывести формулу
в форуме Геометрия |
51 |
1929 |
09 янв 2016, 00:04 |
|
Вывести формулу
в форуме Объявления участников Форума |
13 |
747 |
22 ноя 2018, 15:23 |
|
Вывести формулу
в форуме Алгебра |
4 |
757 |
05 май 2014, 11:31 |
|
Вывести формулу
в форуме Комбинаторика и Теория вероятностей |
1 |
491 |
28 апр 2015, 06:35 |
|
Вывести формулу прогрессии
в форуме Алгебра |
6 |
141 |
26 авг 2022, 20:34 |
|
Вывести приближенную формулу
в форуме Дифференциальное исчисление |
2 |
554 |
23 ноя 2016, 22:56 |
|
Вывести формулу понижения
в форуме Интегральное исчисление |
3 |
417 |
07 окт 2017, 22:30 |
|
Вывести формулу из условий
в форуме Экономика и Финансы |
0 |
143 |
29 авг 2023, 11:38 |
Часовой пояс: UTC + 3 часа [ Летнее время ] |
Кто сейчас на конференции |
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 3 |
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения |