Я пытаюсь построить крошечную (или, возможно, не очень крошечную) формулу, которая будет содержать числа между установленным минимумом и максимумом, но также зациклить эти числа, чтобы они не обрезались, если они находятся за пределами диапазона.пока что это то, что у меня есть.
min1 = 10
max1 = 90
val1 = 92
//will make 11, which is what i want since it loops
formula: min(max(min1,min(val1,max1)),mod(val1,max1)+min1)
однако, я бы хотел, чтобы оно также зацикливалось на другое направление, так что если val1 равен 5, то есть -5 вне min1, он станет86.
другая проблема, с которой я сталкиваюсь, состоит в том, что
max1 % max1 != max1
, как я хочу, так как макс является частью диапазона
, пытаясь очиститьВот несколько примеров желаемого вывода на основе диапазона с циклом
min1 = 10
max1 = 90
----------------------------------------------
val1 = 30 //within range: stays as 30
val1 = 90 //within range: stays as 90
val1 = -6 //below range: loops to becomes 75
val1 = 98 //above range: loops to becomes 17
val1 = 91 //above range: loops to becomes 10
. Я бы не хотел использовать серию операторов if / else, но было бы хорошо, если бы это было абсолютно необходимо.это вообще возможно?