2013-10-23 64 views
2

如果我有兩個字符(a, b)和三個長度(aaa, aab ...),我該如何計算我可以創建多少個唯一字符串(以及所謂的數學方法是什麼)?有多少個字符和長度的字符串是可能的?

這是正確的嗎?

val = 1, amountCharacters = 2, length = 3; 
for (i = 1; i <= length; ++i) { val = amountCharacters*val; uniqueStrings = val } 

這個例子返回8,這是正確的。如果我嘗試使用更高的值,例如amountCharacters = 10,則返回1000.它是否正確?

+0

讓我直說吧。你問有多少個長度爲L的唯一字符串可以只用N個字符構造,對嗎? – svs

+0

8在這裏如何正確? __ unique__字符串不應該是'aab,aba,baa',即3嗎? –

+1

@HarshGupta; aaa,aab,aba,abb,baa,bab,bba,bbb。 – sisve

回答

3

如果您有n個不同的字符並且長度爲k,則可以確定可能的字符串。每個角色獨立於其他角色可以是n個不同選項中的一個,並且有總共k個選項可供選擇。你的代碼是正確的。

對於2個可能的字符和10個字母,恰好有1024個可能的字符串。

希望這會有所幫助!

+0

我無法在Chrome的開發人員工具中運行'n^k',這就是我寫這個的原因。當我搜索到更多內容時,我發現'Math.pow(n,k)'用於javascript,'pow($ n,$ k)'用於PHP。謝謝。 – Marwelln

1

Base相同的規則適用於數學概念。

所以簡短的回答是amountCharacters^length

最長的自然答案。

  • 第一個字母將具有X的可能值
  • 第二個字母將具有X * X可能值
  • 等..
  • X等於可能值的數量,即量在你的問題人物
1

如果我正確理解你的問題,如果你有N個字符,並希望構建長度爲L的字符串,組合數爲僅僅侷限於N^L(例如,N爲L的功率) 。

如果字符串可包含的內容有不同的限制,您可以獲得各種其他結果。組合或排列。

相關問題