Algorithm 算法难题

Algorithm 算法难题,algorithm,puzzle,Algorithm,Puzzle,如何在十个盒子中分配1000美元,以便1美元和1000美元(包括两者)之间的任何金额都可以作为这些盒子的一些组合给出 请提供有关如何处理此问题的任何提示。我尝试过,但无法找到任何解决方案。将从1到1000的所有数字都写在以2为基数的表示法中。这些数字需要10位,因为2^10=1024。你的盒子是两个幂的幂,最多为2^8,最后一个盒子是489(2^0到2^8,489给你十个盒子,2^0+2^1+…+2^8+489=2^9-1+489=511+489=1000),位表示法证明了可以将任意数量的到10

如何在十个盒子中分配1000美元,以便1美元和1000美元(包括两者)之间的任何金额都可以作为这些盒子的一些组合给出


请提供有关如何处理此问题的任何提示。我尝试过,但无法找到任何解决方案。

将从1到1000的所有数字都写在以2为基数的表示法中。这些数字需要10位,因为
2^10=1024
。你的盒子是两个幂的幂,最多为
2^8
,最后一个盒子是
489
2^0
2^8
489
给你十个盒子,
2^0+2^1+…+2^8+489=2^9-1+489=511+489=1000
),位表示法证明了可以将任意数量的到1000的数据作为这些框的组合写入(显然,511以下的数据都可以,对于大于511的数据,减去489,然后注意,可以将余数作为其他8个框的组合写入,因为它保证小于或等于511).

您是否进行过二进制到十进制的转换?取1到1000之间的任意数字,并尝试将其转换为二进制。你会发现你在处理2的幂


以2的幂进行分配,然后根据需要分配任何数量,只需将其转换为二进制,然后选择位设置为1的框。

大提示:2的威力这个问题似乎与主题无关,因为它与编程无关。@Lior Kogan:那么你能提供我可以发布这些问题的链接吗?这是一个谜题,而不是一个典型的脑筋急转弯,在计算机基础知识的小部分中(基数2转换)将使您找到解决方案。@user122345656:请提供一个明确的问题,因为这个问题非常令人困惑。组合是什么意思?您所说的“您正在处理2的幂”是什么意思?你能详细说明一下吗?如何将十进制数转换成二进制数?你有一种普通比率=2的GP系列。比如说,如果你需要转换15(比如数量),那么你就有:*…..,16,8,4,2,1**这类的东西,对于15,你需要最后四个数字(8+4+2+1)表示这些位设为1,则1111为15。现在,在益智游戏中,将数值以2的幂的形式放入框中,然后取15,将其转换为二进制,找到设置的位,然后为这些数字选择框。Thanx对于你的ans,我得到了逻辑。@VaibhavShukla:谢谢,我不明白这个问题,问题一解决,一切都是f准备好了!非常感谢。我会努力的。