【问题标题】:Unique set of numbers, where the sum of any combination will indicate which numbers were chosen in that combination唯一的一组数字,其中任何组合的总和将指示在该组合中选择了哪些数字
【发布时间】:2016-07-29 19:39:05
【问题描述】:

我以前在一种形式中看到过这种情况,当您从列表中选择多个选项时,每个选项都有一个数值,并且所选选项的总和表示选择了哪个选项组合。例如:

100= a (black), 43= b (blue), 2= c (green), 4= d (red)

总和表示选择了哪些选项:

102 = a,c (black, green)
106 = a,c,d
43 = b
149 = a,b,c,d (black, blue, green, red)

有谁知道这个名字让我查一下吗?我没有找到合适的术语(我假设它是一种组合数学?)

【问题讨论】:

    标签: numbers combinations combinatorics


    【解决方案1】:

    也不知道它叫什么,但如果你不允许重复的项目,你可以用 2 [1, 2, 4, 8, ...] 的幂序列来实现。得到构成总和的单个项目相当于得到数字的二进制展开

    a = 1 = b001
    b = 2 = b010
    c = 4 = b100
    
    1 -> b001 -> a
    2 -> b010 -> b
    3 -> b011 -> ab
    4 -> b100 -> c
    5 -> b101 -> ac
    6 -> b110 -> bc
    7 -> b111 -> abc
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-05-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多