【问题标题】:Integer algorithm: find a mathematical function that fulfills given conditions [closed]整数算法:找到满足给定条件的数学函数
【发布时间】:2013-10-27 11:23:55
【问题描述】:

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

  1. y1(x) ∈ [1 .. 6], y2(x) ∈ [1 .. 6]
  2. y1(x) ≠ y2(x) ≠ x
  3. y1(x) 和 y2(x) 是整数

我尝试了y1(x) = 7-xy2(x) = (1+x)%6,其中% 是余数或模运算。

该解决方案不适用于x=6。我得到y1(x) = y2(x) = 1,它不满足条件2。x=3x=5 都不满足。

有人看到可行的解决方案吗?

【问题讨论】:

  • 您的问题需要更加准确。您是否需要两个函数为 x 的 all 值返回 [1..6] 之间的值?
  • 条件号 2 是什么意思?你的意思是y 的任何值都不能等于x 的任何值吗?还是你的意思是y1(x) <> xy2(x) <> xy1(x) <> y2(x)
  • 除非您可以编辑问题以更清楚地了解编程,否则我认为这更适合math.stackexchange.com 或其他...
  • y1=(x+1)%6+1y2=(x+2)%6+1

标签: algorithm math integer


【解决方案1】:

您可以使用例如:

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

【讨论】:

  • 这正是我想要的。非常感谢您,MrSmith42。
【解决方案2】:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-03-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-10-23
    • 1970-01-01
    • 2015-05-18
    相关资源
    最近更新 更多