функция, которая принимает 3,1,2 и возвращает 1,2,3 соответственно и наоборот - PullRequest
0 голосов
/ 12 марта 2010

Есть ли функция, которая принимает 1,2,3 и возвращает 3,1,2 соответственно и наоборот. например: f (1) = 3 F (2) = 1 F (3) = 2 * +1001 *

Это необходимо, чтобы получить циклический порядок, например, 1, когда слева будет 3, 2 будет 1, а 3 будет 2 1 при правильном подходе будет 2, 2 будет 3 и 3 будет 1.

Ответы [ 6 ]

5 голосов
/ 12 марта 2010

Если входы и выходы всегда одинаковы, т. Е. 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!
}
3 голосов
/ 12 марта 2010

f (x) = (x + 1) мод 3 + 1

3 голосов
/ 12 марта 2010

f (x) = этаж (3 / x) + этаж (x / 3)

2 голосов
/ 12 марта 2010

Просто сделайте свою собственную функцию, чтобы сделать это:

function(x) {
  var lookup = [3, 1, 2];
  return lookup[x - 1];
}
1 голос
/ 12 марта 2010

В Python:

def f(x):
    return ((x+4)%3)+1

В С:

int f(int x)
{
    switch(x)
    {
    case 1: return 3;
    case 2: return 1;
    case 3: return 2;
    default: return x;
    }
    return x;
 }

Хотя решение mod (%) будет работать и в Си.

1 голос
/ 12 марта 2010

Нет, но вы можете создать свою собственную функцию.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...