2015-01-03 87 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,我的回答是正確的給定的問題。這是一個最終的提示。可能是你的問題是不同的! –

相關問題