Изменение диапазона чисел
Получаю число в диапазоне от 4 до 66. Хочу трансформировать получаемое число в диапазон от 0 до 100. Подскажите где найти подобное решение? В классе java.lang.Math ответ не нашел.
Отслеживать
13.7k 12 12 золотых знаков 43 43 серебряных знака 75 75 бронзовых знаков
задан 31 мая 2018 в 22:13
69 4 4 бронзовых знака
2 ответа 2
Сортировка: Сброс на вариант по умолчанию
Это считай нормализация числа. Сначала находим диапазон
И теперь его надо растянуть от 0 до 100, то есть на 100 значений
Это множитель для числа
Теперь нужно привести числов в координату 0, то есть в нашем случае нужно отнять 4 и диапазон будет от 0 до 62. Полученное число умножить на множитель
Пример: число 50
46*1.61 = 74.198 — ответ
Тут все еще зависит от того как считать. Если числа целые, то диапазон будет как (макс — мин + 1).
Отслеживать
ответ дан 1 июн 2018 в 1:19
Serhii Dikobrazko Serhii Dikobrazko
1,762 1 1 золотой знак 9 9 серебряных знаков 15 15 бронзовых знаков
Ну то есть в общем new.number = new.low + (old.number — old.low) * (new.high — new.low) / (old.high — old.low) (кстати, под это дело вполне можно создать свой тип объекта). А вот в случае целых — там всё пакостно. Если считать по тем же формулам — будут провалы на граничных значениях при сжатии диапазона. А при расширении вообще бред будет получаться (часть промежуточных в новом диапазоне не будут получаться никогда).
1 июн 2018 в 5:20
Да. Там еще проблемы будут с максимальным числом. Поскольку множитель приходится округлять, то при максимальном числе на выходе будет либо больше, либо меньше допустимого максимума, но никогда неравно. Придется условие добавлять. Вообще, достаточно распространенная задача. Можно подробнее даже описать, если повторов нет
1 июн 2018 в 6:10
Поскольку множитель приходится округлять Это если считать его отдельно (что на такой задаче вряд ли имеет великий смысл — разве что речь идёт о нормализации такого массива, что весь расчёт занимает часы или дни). Если выполнять весь расчёт единой формулой, то погрешность расчёта будет меньше.
1 июн 2018 в 6:14
Если смотреть со стороны математики — то все равно. А в программировании, если Поделить 10 на 3 и я получу «бесконечное» число 3.33333(3). В какой-то момент последние цифры будут отброшены и когда я обратно умножу 3 на него, я получу число близкое к 10, но не 10, что неприятно. Хотя это касается всех целых чисел на выходе. А как бы это исправить я четкого решения не вижу
1 июн 2018 в 6:28
Ну как бы обычное дело — погрешности округления для не представимых точно конечных или промежуточных результатов. если совсем прёт — можно задействовать дробную математику, конечно.
Как посчитать какой процент занимает число в диапазоне чисел?
Не могу сообразить, по какой формуле можно посчитать процент. Допустим:
a = 5000
b = 10000
c = 7777
Диапазон от a до b это 100%
Интересует, по какой формуле можно посчитать, какой процент занимает «c» в диапазоне «a-b»?
- Вопрос задан более года назад
- 1144 просмотра
12 комментариев
Простой 12 комментариев
по какой формуле можно посчитать, какой процент занимает «c» в диапазоне «a-b»?
Ни по какой. Бессмысленный вопрос.

AVKor, да нет, вполне себе разумный, и даже вполне понятно, какую задачу можно такой формулой решить.
И да, формула есть.
Василий Банников, Заодно подскажите, какой процент занимает один час в килограмме муки.

AVKor, давайте не будем передёргивать.
Первое что приходит в голову, где это можно применить:
У нас есть некий регулятор, который отдаёт значения в диапазоне от 0 до 360 (типа угол поворота ручки)
Нам нужно эти значения преобразовать в целевую температуру на термостате в диапазоне от 10 до 30 градусов.
Это разве не имеет смысла и невозможно?
Ну или если говорить по вопросу автора:
У нас есть некий резервуар, который вмещает 10000 единиц жидкости.
На боку резервуара есть окно, по которому можно измерить заполненность бака, но окно доходит только до середины бака, по тому и проградуировано оно в диапазоне от 5000 до 10000 единиц.
Мы видим, что бак заполнен на 7777 единиц.
Вопрос: Какой процент окна заполнен жидкостью?
Адекватную и решаемую задачу вполне можно сформулировать, значит и бреда в изначальном вопросе нет.
Василий Банников, вопрос ТС прочитайте; он аналогичен моему про время и килограммы.

AVKor, прочитай мой коммент.
Он полностью аналогичен вопросу автора.
В вопросе ничего про время и килограммы нет — только про диапазон попугаев и проценты от этого диапазона.
Хоть и обывательским языком, а не математическим — это не значит, что нужно пытаться человека на чём-то подловить.
Хоть и обывательским языком, а не математическим — это не значит, что нужно пытаться человека на чём-то подловить.
Дело не в «подловить», а в том, что вопрос не имеет смысла. На него дали два бессмысленных ответа.
И что это вы стёрли из своего ответа «не уверен, ибо не силён в математике»? За прошедшие несколько минут капитально усилились? 🙂

AVKor, не, просто погуглил и нашёл что по такой фразе всё находит)
Как раз ту формулу, которую я только что вывел

AVKor, так а почему не имеет смысла вопрос то?
И почему ответы не имеют смысла?
Как правильно указать диапазон? «от . до . «, «. -. » ?
lalechka Поставщик Профиль Сообщений: 6683 Зарегистрирован: 06 ноя 2017, 02:03 Откуда: Санкт-Петербург Благодарил (а): 70 раз. Поблагодарили: 319 раз.
Как правильно указать диапазон? «от . до . «, «. -. » ?
lalechka » 15 мар 2018, 04:37
Инструкция по заполнению заявок (выдержка из документации) во вложенном к данному сообщению файлу.
В случае одновременного установления минимального и максимального значения показателя, с использованием предлогов: от и до, участнику следует указать одно конкретное значение показателя руководствуясь вышеуказанными требованиями инструкции, за исключением случаев, когда указанное значение сопровождается словами в диапазоне/ диапазон, в этом случае участник закупки указывает диапазон значений входящих в указанные границы, с сохранением правил описания показателей с предлогами от и до, указанные выше.
Заполняю, например, вот это:
должен обеспечивать удобную для работы высоту в диапазоне от 600 до 1700 мм
У производителя этот параметр указан как:
Регулируемая высота подъема от 620 до 1600 мм
Как надо заполнить в заявке?
Про «должен» не задаю вопрос, естественно.
Согласно указанному выше пункту инструкции, требуется указать диапазон значений, входящих в указанные границы, т.е. чтобы крайние значения границы не могут быть указаны.
Но как именно правильно прописать диапазон? С «тире»? С «от и до»?
обеспечивает удобную для работы высоту в диапазоне от 620 до 1600 мм
обеспечивает удобную для работы высоту от 620 до 1600 мм
обеспечивает удобную для работы высоту в диапазоне 620-1600 мм
обеспечивает удобную для работы высоту 620-1600 мм
Какой из этих вариантов верный согласно данной Инструкции?
Вложения Инструкция по заполнению.docx (57.53 KiB) Скачиваний: 297
werunja Профиль Сообщений: 1 Зарегистрирован: 01 мар 2018, 20:39 Благодарил (а): 0 раз. Поблагодарили: 0 раз.
Re: Как правильно указать диапазон? «от . до . «, «. -. » ?
werunja » 15 мар 2018, 06:40
В правилах описания предлогов «от» и «до» по Вашей Инструкции указано, что необходимо предоставить значение показателя без использования указанных предлогов. В случае указания диапазона правило описания этих знаков сохраняется. Пропишите диапазон с «тире» можно еще использовать знак «. » многоточие, как вариант.
Капетан Ачевидность Учащийся Профиль Сообщений: 1054 Зарегистрирован: 23 ноя 2010, 00:00 Благодарил (а): 85 раз. Поблагодарили: 40 раз.
Re: Как правильно указать диапазон? «от . до . «, «. -. » ?
Капетан Ачевидность » 15 мар 2018, 07:03
lalechka писал(а): обеспечивает удобную для работы высоту в диапазоне от 620 до 1600 мм
обеспечивает удобную для работы высоту от 620 до 1600 мм
обеспечивает удобную для работы высоту в диапазоне 620-1600 мм
обеспечивает удобную для работы высоту 620-1600 мм
Какой из этих вариантов верный согласно данной Инструкции?
Нет таких. Так как ваш диапазон меньше заданного.
Фриланс (специализация медицинское оборудование) e-mail: NakruL@yandex.ru
, как правило отвечаю сразу.
Просто Петр Не определена Профиль Сообщений: 87013 Зарегистрирован: 22 июн 2014, 00:26 Откуда: Санкт-Петербург Благодарил (а): 549 раз. Поблагодарили: 4271 раз.
Re: Как правильно указать диапазон? «от . до . «, «. -. » ?
Просто Петр » 15 мар 2018, 07:53
lalechka писал(а): Как надо заполнить в заявке?
Очередную процедуру Академии разгрызаете? Которую из этих- http://zakupki.gov.ru/epz/order/quickse . PDATE_DATE
Если Вы спрашиваете о том, чтобы заявку допустили, то 601- 1599
. В случае если значение показателя сопровождается предлогом до, участник закупки в первой части заявки на участие в электронном аукционе обязан указать единицу измерения показателя, конкретное значение показателя, менее установленного в Приложении № 1 к Техническому заданию значению показателя без использования указанного предлога.
В случае если значение показателя сопровождается предлогом от, участник закупки в первой части заявки на участие в электронном аукционе обязан указать единицу измерения показателя, конкретное значение показателя, превышающее установленное в Приложении № 1 к Техническому заданию значение показателя без использования указанного предлога.
. за исключением случаев, когда указанное значение сопровождается словами в диапазоне/ диапазон, в этом случае участник закупки указывает диапазон значений входящих в указанные границы, с сохранением правил описания показателей с предлогами от и до, указанные выше.
И абсолютно плевать, есть такое у производителя, или нет. На почитать Вам
Как найти диапазон
Изучение того, как найти диапазон функции, может оказаться очень важным в алгебре и исчислении, потому что это дает вам возможность оценить, какие значения достигаются функцией. Или, другими словами, позволяет найти набор всех изображений с помощью функции
Задача поиска точек, которые могут быть достигнуты функцией, очень полезна. Например, у вас может быть производственная функция \(q(x)\), которая дает вам объем вывода, полученный для \(x\) единиц ввода.
Мы хотели бы знать, сколько единиц ввода необходимо для производства \(b\) единиц вывода. Другими словами, нам нужно найти \(x\), чтобы \(q(x) = b\), что является еще одним способом узнать, находится ли \(b\) в диапазоне функции \(q(x)\).

В этом уроке мы больше сконцентрируемся на механике нахождения диапазона. Для более концептуального подхода к домену и диапазону вы можете проверьте этот учебник .
Алгебраический способ определения диапазона функции
Так же, как когда мы узнали, как вычислить домен, не существует единого рецепта для нахождения диапазона, это действительно зависит от структуры функции \(f(x)\).
Тем не менее, всегда будет использоваться один алгебраический прием. ТАКИМ способом вы найдете диапазон. Обращать внимание:
Скажем, нам нужно получить диапазон заданной функции \(f(x)\). Затем мы рассмотрим типичное действительное число \(y\) и попытаемся решить для \(x\) следующее уравнение:
Нам нужно определить, для каких значений \(y\) приведенное выше уравнение может быть решено для \(x\). Вот и все. Конечно, это может быть сложно сделать, в зависимости от структуры функции \(f(x)\), но это то, что вам нужно сделать.
Итак, это алгебраический способ, способ найти диапазон функции без построения графиков.
ПРИМЕР 1
Найдите диапазон функции \(\displaystyle f(x) = \frac\):
ОТВЕЧАТЬ:
Мы продолжаем использовать алгебраический способ: пусть \(y\) будет числом, и мы решим для \(x\) в следующем уравнении: \(f(x) = y\). Значение \(y\) находится в диапазоне, если \(f(x) = y\) может быть решено для \(x\).
В этом случае мы имеем:
\[\large f(x) = y \Leftrightarrow \frac = y\] \[\Rightarrow \,\,\,x+1 = y\left( x-3 \right)\] \[\Rightarrow \,\,\,x+1 = yx-3y\] \[\Rightarrow \,\,\,x-yx=-1-3y\] \[\Rightarrow \,\,\,x\left( 1-y \right)=-1-3y\] \[\Rightarrow \,\,\,x=\frac\]
Следовательно, когда будет четко определено \(x\)? Почти для всех \(y\), кроме случая \(y = 1\), потому что в этом случае у нас есть деление на \(0\). Следовательно, диапазон \(f\) в этом случае — это вся вещественная линия, кроме 1.
Если мы используем обозначение интервалов, мы можем написать \(Range(f) = (-\infty, 1) \cup (1, +\infty)\).
ПРИМЕР 2
Найдите диапазон функции \(f(x) = x^2 — 4x + 3\):
ОТВЕЧАТЬ:
Опять же, мы продолжаем использовать алгебраический способ, поэтому вы знаете, что упражнение: Пусть \(y\) будет числом, и мы решим для \(x\) в следующем уравнении: \(f(x) = y\). Значение \(y\) находится в диапазоне, если \(f(x) = y\) может быть решено для \(x\).
В этом случае мы имеем:
\[\large f(x) = y \Leftrightarrow x^2 — 4x + 3 = y\] \[\Rightarrow \,\,\, x^2 — 4x + 3 — y = 0 \text< (This is a quadratic equation in x)>\] \[\Rightarrow \displaystyle \,\,\, x = \frac>\] \[\Rightarrow \displaystyle \,\,\, x = \frac>\] \[\Rightarrow \displaystyle \,\,\, x = \frac>\] \[\Rightarrow \displaystyle \,\,\, x = \frac>\] \[\Rightarrow \displaystyle \,\,\, x = \frac>\] \[\Rightarrow \displaystyle \,\,\, x = 2 \pm \sqrt\]
Теперь, видя это последнее выражение, когда будет хорошо определено \(x\)? Нам нужно, чтобы аргумент квадратного корня был неотрицательным, поэтому нам нужно:
что означает, что \(y \ge -1\). Если мы используем обозначение интервалов, мы можем написать \(Range(f) = [-1, +\infty)\).
В этом примере мы могли бы решить эту проблему, используя тот факт, что \(f(x) = x^2 — 4x + 3\) является квадратичной функцией, а ее график представляет собой параболу, которая открывается вверх.
Точка минимума этой параболы достигается в вершине. Координата x вершины:
Теперь координата y вершины просто определяется путем вставки значения \(x_V = 2\) в квадратичную функцию:
\[y_V = f(x_V) = 2^2 — 4(2) + 3 = -1\]
Поскольку минимальное значение, достигаемое параболой, равно \(-1\), мы заключаем, что диапазон равен \([-1, +\infty)\), что является тем же выводом, что и найденный алгебраически.
График функции \(f(x) = x^2 — 4x + 3\) делает это еще более понятным:

Мы можем видеть, что на основе графика минимум достигается в \(x = 2\), что в точности соответствует координате x вершины.
Риск использования графика для определения диапазона заключается в том, что вы потенциально можете неправильно прочитать критические точки на графике и дать неточную оценку того, где функция достигает своего максимума или минимума.
Другие стратегии поиска диапазона функции
Как мы видели в предыдущем примере, иногда мы можем найти диапазон функции, просто взглянув на ее график.
Например, вы хотите найти диапазон функции \(f(x) = x + 3\). График показан ниже:

На графике выше не показаны минимальные или максимальные точки. Более того, когда \(x\) большое и положительное значение, значение функции также большое и положительное. И аналогично, когда \(x\) очень отрицательно, значение функции также очень отрицательное.
Интуиция подсказывает, что функция может принимать любые отрицательные и положительные значения, выбирая достаточно большие (положительные или отрицательные) значения \(x\). И тогда можно сделать вывод, что диапазон — это вся реальная линия, которая равна \((-\infty, +\infty)\) с использованием обозначения интервала.
Такой анализ верен с точки зрения результата, но ненадежен с точки зрения аргументации. У «графического метода» поиска диапазона есть та же проблема: он привлекателен с интуитивной точки зрения, но довольно скуден с точки зрения содержания.
Обычно, если возможно, мы должны предпочесть аналитический / алгебраический путь. В этом примере нам нужно найти \(x\):
\[x + 3 = y\] \[\Rightarrow \,\, x = y — 3\]
Итак, есть ли какие-либо ограничения на \(y\) для правильного определения \(x\)? Вовсе нет, поэтому нет никаких ограничений на \(y\), и можно сделать вывод, что диапазон — это вся реальная линия.
Вы можете проверить эту статью, если хотите знать, как найти домен функции вместо.
Есть много веских алгебраических причин для нахождения диапазона, одна из них состоит в том, что он является частью процессов для найти обратную функцию .