2015-01-03 56 views
-1

我们有n个小于1.0且大于0的随机数,即0.0 < a_i < 1.0。算法:检查n个随机数的总和是否等于整数K?

如何检查是否存在一个集合S,其中包含属性a_i的元素,使得所有a_i的总和等于整数常数K,其中i = 1,2,...,n?

注意:set应该包含n个元素。

例如

  1. N = 4和K = 2,则 我们可以选择{0.5,0.5,0.5,0.5}或{0.25,0.75,0.5,0.5},因为它们的总和为2,从而答案是肯定的。
  2. N = 4且K = 4则答案为否,因为我们不能选择a_i使得它们的和K = 4。

回答

1
  B1-1<A1 <= B1 
      B2-1<A2 <= B2 
      B3-1<A3 <= B3 
      ........ 
      ........ 
      Bn-1<An <= Bn 

      n => Total number of elements. 

总结(如同我们在10号标准:) :))

我觉得没有必要书面方式伪码总和= B1 + B2 + ... + BN的:)

  sum-n < K(given) <= sum-n<K-sum <= 0 

这个条件相当于(K + N>和)& &(总和> = K)

我希望,你的疑难杂症!

+0

我以同样的方式,它没有工作.. –

+0

@john,我的回答是正确的给定的问题。这是一个最终的提示。可能是你的问题是不同的! –

相关问题