提供以下值
- 起始值 = 1
- 最终值 = 20
- 间隔 = 5
我得到了一个数字 6。我必须找到数字 6 所在的数字范围,现在答案是 6-10。
如果给定的数字大于结束值,则返回相同的数字。
有什么公式可以让我生成数字的范围吗?
更新
我尝试了以下解决方案,但是如果更改范围间隔,它就不起作用,
$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;