整数算法:找到满足给定条件的数学函数

时间:2013-10-27 11:23:55

标签: algorithm math integer

给定区间[1 .. 6]中的整数x,我正在寻找两个数学函数y1y2,以便:

  1. y1(x)∈[1 .. 6],y2(x)∈[1 .. 6]
  2. y1(x)≠y2(x)≠x
  3. y1(x)和y2(x)是整数
  4. 我尝试了y1(x) = 7-xy2(x) = (1+x)%6,其中%是余数或模运算。

    该解决方案不适用于x=6。我得到y1(x) = y2(x) = 1,但不符合条件2. x=3x=5都没有。

    有没有人看到有效的解决方案?

2 个答案:

答案 0 :(得分:6)

您可以使用例如:

y1=(x % 6) +1

y2=((x+1) % 6) +1  

表格功能:

x  y1  y2
1   2   3
2   3   4
3   4   5
4   5   6
5   6   1
6   1   2

答案 1 :(得分:1)

从技术上讲,y1 = 1 +((x + 1)%6)和y2 =(1+(x + 2)%6)都满足您的要求。

我想虽然你正在考虑某种统一分布的东西(这通常是这种尝试的动机......)。