我已经在两款游戏中发现了这种算法/功能,但我一直想知道它背后的逻辑是什么。
基本上,有一个项目列表,每个项目都有一个 id。
例如:
item_1 的 ID:1
item_2 的 ID:2
item_3 的 ID:4
item_4 有 id:8
item_5 的 ID:16
等等
每个新项目都会将 id 乘以 2。
然后有一个数字,比方说 4,表示当前项目是什么。这种情况是item_3
,但棘手的部分是数字也可以一次选择多个项目,例如 7 是 4 + 2 + 1 ( item_3
, item_2
, item_1
) 或 17 是 16 + 1 ( item_5
, item_1
)。如果您有一个长列表并且对于多个选择仍然非常准确,它可以像 16384 一样非常高。
我该如何解决这个问题?
12345678_0001
呼啦一阵风
白猪掌柜的
相关分类