gpt4 book ai didi

algorithm - 计算序列中使用的数字

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

我得到以下数字序列 1,2,4,8,16,32,64....8192 - 其中每个数字代表某种东西,例如 1 可以代表“牛奶”,而 2 可以代表“蛋”。

我得到了一个值为 3 的纸杯蛋糕。因为 1 + 2 = 3,我知道我的纸杯蛋糕包含牛奶 (1) 和鸡蛋 (2)。

但是 - 我正在寻找一种算法来帮助我实现这一目标。如果总和是 1536,我希望算法找到 1024 和 512 - 或者,如果总和是 7 - 使用的数字将是:1,2,4。

有没有办法做到这一点?

最佳答案

让我们看看我是否理解,您有一个基本上是“二进制”(2 的幂)值的序列,例如:

32---16---8----4----2-----1

0-----0----0----1----1-----0 是 6

因此您可以继续将输入数字(整数)转换为二进制,然后逐位检查它们是否已打开。

假设你有数字 35,二进制:

32---16---8----4----2-----1

1-----0----0----0----1-----1

我现在一点一点的走

  • 位索引 1 已打开,所以我有 1!
  • 位索引 2 已打开,所以我有 2!
  • 位索引 3 已关闭,跳过!
  • 位索引 4 已关闭,跳过!
  • 位索引 5 已关闭,跳过!
  • 位索引6开启,我有32!

结果:1​​ + 2 + 32 = 35

希望对您有所帮助! :)

关于algorithm - 计算序列中使用的数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22425345/

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