V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
MaiCong
V2EX  ›  问与答

[十万火急] 数学帝过来!!!!!!!求助公式!

  •  
  •   MaiCong · 2014-12-23 16:31:48 +08:00 · 2625 次点击
    这是一个创建于 3641 天前的主题,其中的信息可能已经有所发展或是发生改变。

    给出数值对应关系如下:
    x = y n m
    1 = 1 1 0
    2 = 2 1 1
    3 = 3 2 1
    4 = 4 1 2
    5 = 6 2 2
    6 = 5 3 2
    7 = 7 4 2
    8 = 8 1 3
    9 = 12 2 3
    10 = 9 3 3
    11 = 13 4 3
    12 = 10 5 3
    13 = 14 6 3
    14 = 11 7 3
    15 = 15 8 3
    16 = 16 1 4
    17 = 24 2 4
    18 = 17 3 4
    19 = 25 4 4
    20 = 18 5 4
    21 = 26 6 4
    22 = 19 7 4
    23 = 27 8 4
    24 = 20 9 4
    25 = 28 10 4
    请以x、n、m为参数列出公式:
    y = ?

    知乎: http://www.zhihu.com/question/27216591

    4 条回复    2014-12-23 18:22:32 +08:00
    silverzhao
        1
    silverzhao  
       2014-12-23 17:52:24 +08:00   ❤️ 1
    目前可以看出,m = [log2 x], n = x+1-2^m.

    y 的关系还没有看出来。
    silverzhao
        2
    silverzhao  
       2014-12-23 18:15:20 +08:00   ❤️ 1
    好了,算出来了:

    当 x 为奇数时,y = 2^m + (x-1)/2;
    当 x 为偶数时,y = 2^(m-1) + x/2。
    silverzhao
        3
    silverzhao  
       2014-12-23 18:21:17 +08:00   ❤️ 1
    再看了下,可以归并成一个式子:

    y = 2^(m-1+(x&1)) + [x/2],

    其中,[x] 表示对 x 向下取整。
    Valyrian
        4
    Valyrian  
       2014-12-23 18:22:32 +08:00   ❤️ 1
    我算的:
    mod = 2**n - 1
    offset = 2**(n-1) - 1
    y = x+(x*offset)%mod-offset
    除了第一行div by zero其他都满足。。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2789 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 00:36 · PVG 08:36 · LAX 16:36 · JFK 19:36
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.