给定可用字符数为 N,允许的 ID 长度为 1∼L。长度为 k 的 ID 数为 Nk,因此总数为等比数列:
S=\sum_{k=1}^{L} N^k= \begin{cases} L & (N=1)\\[4pt] \dfrac{N^{L+1}-N}{N-1} & (N\neq 1)小华刚刚参加了一个编译器课程,他想设计实现自己的编译器。首先,他设计了一种语言,他的语言最大支持 N 个字不同的字符,并且他规定了由这些字符组成的 ID ,任何 ID 的长度需要大于等于 1 且小于等于 L 个字符,他希望设计一个程序知道他的语言总共能组成多少个 ID 。
例如,当 N=2 (假设字符可以是 0 或 1 ),并且 L=3 时,他具有如下的 ID {0,1,00,01,10,11,000,001,010,011,100,101,110,111},因此当 N=2,L=3 时总共有 14 种 ID 。