2011-08-30 66 views
3

我只能用2個字母來產生單詞,讓我們說'k'和'e'。單詞的長度是從5到35個字符。 rand()隨機選擇每個字母和單詞len。有人能告訴我可以產生多少可能的獨特詞彙嗎? 謝謝。計算排列數(我猜)

PS這些稱爲排列或組合?

+1

'2^5 + 2^6 + ... + 2^35' ='2^36 - 2^5' –

+3

這些既不是組合也不是排列,你也沒有問過編程問題。 –

+0

好吧,我救了你們從編碼...我自己做發電機;) – kombawa

回答

3

排列組合:爲了事項(你的情況) 組合:順序並不重要,即「克」 ==「EK」

ñ = 2^5 + 2^6 + ... 2^34 + 2^35

這是一個有限長度的幾何級數,Wolfram Alpha告訴我們: Sum [2^k,{k,5, 35}] 68,719,476,704 ==大約690億

+0

其實我太生鏽了,不能告訴你正確的名詞,它不是「組合」。它可能是「排列組合」,「變體」或其他。 –

+0

...處置? –

1

對於長度爲N的每個單詞:每個字母有2個選項,因此有2個n可能的單詞。添加了所有字長這些值的5至35:

>>> sum(2**n for n in range(5,36)) 
68719476704L 
+0

這顯示給定2個字母的可能組合的數量。 26 * 25 * your_answer給出了獨特的可能性......我想。 – prelic

+0

@prelic:我不明白你是如何得到26 * 25 * 68719476704。 – Jimmy

+0

具體來說,形式爲'product(N ... N-1 ...)'的答案假定排列*沒有替換*這就是爲什麼數字每次都下降。我們並沒有在這裏使用固定的信件包。 – Jimmy