Как найти диапазон для данного числа, интервала и стоимости начала?

Если ниже ценностей

  1. стоимость начала = 1
  2. Стоимость Конца = 20
  3. Интервал = 5

Мне предоставили номер 6. Я должен найти диапазон чисел, в которых падения номер 6 говорят теперь, что ответ 6-10.

Если данное число больше, чем стоимость конца тогда возвращает то же самое число.

Есть ли какая-либо формула так, чтобы я мог произвести диапазон для числа?

UPDATE

Я попробовал ниже решения, Но оно не работает, если интервал диапазона изменяется,

 $end_value = $start_value + $range_interval;

// we blindly return the last term if value is greater than max value
if ($input_num > $end_value) {
  return '>' . $end_value;
}

// we also find if its a first value
if ($input_num <= $end_value && $value >= $start_value) {
  return $start_value . '-' . $end_value;
}

// logic to find the range for a given integer
$dived_value = $input_num/$end_value;

// round the value to get the exact match
$rounded_value = ceil($dived_value);

$upper_bound_range = $rounded_value*$end_value;

$lower_bound_range = $upper_bound_range - $end_value;

return $lower_bound_range . '-'. $upper_bound_range;
0
nl ja de
если стоимость начала 0, включен, won' t располагаются быть 5-9?
добавлено автор Vladimir, источник
На этом вопросе нужно задать Математика.
добавлено автор sgarizvi, источник
Какой u попробовали?..
добавлено автор Milind, источник
@Vladimir я обновил свой вопрос с моей попыткой
добавлено автор Dinesh Kumar Sarangapani, источник
@Milind спасибо за пункт я изменил стоимость начала
добавлено автор Dinesh Kumar Sarangapani, источник

2 ответы

Ответ зависит от того, говорите ли вы о целых числах или плаваниях. Так как все ваши числа в качестве примера - целые числа, я предполагаю, что вы говорите о тех. Я далее предполагаю, что все ваши интервалы содержат то же самое количество целых чисел, в вашем примере 5, а именно, 1... 5, 6... 10, 11... 15, и 16... 20. Обратите внимание, что 0 не содержится в 1-м интервале (иначе, у 1-го интервала было 6 чисел).
В этом случае ответ легок.
Позволял быть:
s стоимость начала, которая не содержится в 1-м интервале,
я размер интервала, т.е. количество целых чисел, которые это содержит,
p обеспеченное число, на которое интервал должен быть назначен,
b 1-е целое число в этом интервале и
e последнее целое число в этом интервале.
Тогда:
b = s + (p-s-1) \i * я + 1 (здесь, "\" означает целочисленное деление, т.е. без остатка)
e = b + я - 1
В вашем примере:
s = 0, я = 5, p = 6, таким образом
b = 0 + (6-0-1) \5 * 5 + 1 = 6
e = 6 + 5 - 1 = 10

1
добавлено

В (c-стиле) псевдокод:

// Integer division assumed
rangeNumber = (yourNumber - startValue)/rangeLength;
lower_bound_range = startValue + rangeNumber*rangeLength;
upper_bound_range = lower_bound_range + rangeLength-1;

Для вашего входа:

rangeNumber = (6-1)/5 = 1
lower_bound_range = 1 + 5*1 = 6
upper_bound_range = 10

и таким образом, диапазон [6, 10]

1
добавлено
@DineshKumar, жаль, я предположил, что язык использует целочисленное деление по умолчанию (как c, например), таким образом (220 - 100) / 100 = 1. Проверьте, как выполнить целочисленное деление на языке, который вы используете
добавлено автор Vladimir, источник
Но это не работает на другие ценности, как startValue:100, Интервал (rangeLength): 100, EndValue: 500 rangeNumber = (220 - 100) / 100 = 1.2 lower_bound_range = 100 + (1.2 * 100) = 220 upper_bound_range = 220 + (100-1) = 319;
добавлено автор Dinesh Kumar Sarangapani, источник
Спасибо, Таким образом, мы должны отказаться от десятичного значения для вычисления..
добавлено автор Dinesh Kumar Sarangapani, источник
Infernal Math
Infernal Math
389 участник(ов)

http://www.zepta.ru/index.php?title=Заглавная_страница Приглашение в чат: https://t.me/matheden

comput.math
comput.math
289 участник(ов)

Прикладная математика и численные методы. Без оффтопа, рекламы, флуда. Вышмат: @higher_math Физика: @physpub Новичкам: @starter_math @JuliaLanguage @rlang_ru Книги брать здесь: libgen.io И по хештегу #book

higher.math
higher.math
234 участник(ов)

Higher mathematics / высшая математика Подборка книжек: https://ru.stackoverflow.com/a/683632/1084 Вычмат: @comput_math Физика: @physpub LaTeX: @pro_latex

Starter Math
Starter Math
79 участник(ов)

Для тех, кто боится спросить в @higher_math Вычмат: @comput_math Физика: @physpub