是否有一个函数需要1,2,3并分别返回3,1,2和反之。 例如:f(1)= 3 F(2)= 1 F(3)= 2
这是获得循环次序所必需的,例如1,当离开时将是3,2将是1和3将是2。 1当正确时将是2,2将是3和3将是1。
答案 0 :(得分:5)
如果输入和输出总是相同的,即1,2,3应该返回3,1,2那么最有效的事情是做这样的事情。为什么要用这种有限的来龙去理解数学函数......
function(x)
{
if (x == 1) return 3;
if (x == 2) return 1;
if (x == 3) return 2;
!throw some unsupported error!
}
答案 1 :(得分:3)
f(x)= floor(3 / x)+ floor(x / 3)
答案 2 :(得分:3)
f(x)=(x + 1)mod 3 + 1
答案 3 :(得分:2)
只需创建自己的功能:
function(x) {
var lookup = [3, 1, 2];
return lookup[x - 1];
}
答案 4 :(得分:1)
没有,但您可以创建自己的功能。
答案 5 :(得分:1)
在Python中:
def f(x):
return ((x+4)%3)+1
在C:
int f(int x)
{
switch(x)
{
case 1: return 3;
case 2: return 1;
case 3: return 2;
default: return x;
}
return x;
}
虽然mod(%)解决方案也可以在C中使用。