This must be really simple math but I don't know how to solve it.
I need to write a function that returns a number on a scale from 1 to 3 like this:
input: -5 output: 1
input: -4 output: 2
input: -3 output: 3
input: -2 output: 1
input: -1 output: 2
input: 0 output: 3
input: 1 output: 1
input: 2 output: 2
input: 3 output: 3
input: 4 output: 1
input: 5 output: 2
input: 6 output: 3
input: 7 output: 1
The following function works great with positive numbers
static const int getOnScaleOneToThree(int input)
{
int x = ceil(input / 3);
return abs((input - (x * 3)));
}
But it inverts (of course) with negative input like this:
input: -6 output: 3
input: -5 output: 2
input: -4 output: 1
input: -3 output: 3
input: -2 output: 2
input: -1 output: 1
input: 0 output: 3
input: 1 output: 1
input: 2 output: 2
input: 3 output: 3
Any ideas? Thanks!