一个函数需要3,1,2并分别返回1,2,3和反之

时间:2010-03-12 07:14:15

标签: function numbers

是否有一个函数需要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。

6 个答案:

答案 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中使用。