gpt4 book ai didi

arrays - 算法,以便我可以以某种方式索引 2^n 组合,这样我就可以在不使用数组的情况下从 1 的任何索引值回溯到 2^n

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:19:19 25 4
gpt4 key购买 nike

我正在尝试做某事,但它超出了我的领域。为了解释,让我们设置 n=3 来简化事情,其中​​ n 是此示例中参数的总数:A、B、C。这些参数可以具有 ON 和 OFF 状态(也称为 0 或 1)。在这种情况下,这些参数的组合总数为 2^n = 8,可以表示为:

   ABC
1: 000
2: 111
3: 100
4: 010
5: 001
6: 110
7: 011
8: 101

当然上面的列表可以按(2^n)排序! = 40320 种方式。我想要一个算法,以便我可以在给定 1 到 2^n 的数字的情况下计算任何参数(0 或 1)的状态。例如,如果我使用上表得到 3 的数字,我知道 A 的状态为 1,B 和 C 的状态为 0。当然你可以有一个表/数组来查找特定的排序,但即使对于相对较小的n 的值你需要有一个巨大的表。

我不熟悉这个以及您可以进行索引的方法,这就是我需要帮助的原因。

亲切的问候

最佳答案

刚刚意识到您实际上可以换一种方式来看待它。你想要的是一个将 N 位加密为另一组 N 位的函数。实际上这与 format preserving encryption 相同.问题是,您是否关心:

  • 涵盖了所有 2^n 个案例,或者只是足够大的数量接近 2^n(您必须选择正确的加密/哈希方法)<
  • 您想以一种方式或两种方式进行此操作(也就是说,您是否想问 - 我有这个数字对应于那个数字,我使用的是哪种排列)

如果两者的答案是否定的,您可以找到不需要生成整个表的 FPE 算法(有些需要)。

关于arrays - 算法,以便我可以以某种方式索引 2^n 组合,这样我就可以在不使用数组的情况下从 1 的任何索引值回溯到 2^n,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37903066/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com