Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/xpath/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
String 长度为N且包含3个字符的可能字符串_String_Algorithm_Math_Combinations_Permutation - Fatal编程技术网

String 长度为N且包含3个字符的可能字符串

String 长度为N且包含3个字符的可能字符串,string,algorithm,math,combinations,permutation,String,Algorithm,Math,Combinations,Permutation,我有3个字符-‘a’、‘b’、‘c’。我需要制作长度为N的字符串,其中N>=3每个字符必须至少在字符串中出现一次。允许重复字符。那么有多少这样的字符串是可能的。首先: 对于N=3,必须使用字符“abc”(1个初始字符串)组成字符串 对于N=4,您必须使用以下三种格式组成字符串:“abca”,“abcb”或“abcc”(3个初始字符串) 对于N=5,从N=4中提取每个字符串,并附加“a”、“b”和“c”,从一个字符串中形成三个字符串。(共9个) 因此,对于给定的N,可以使用的可能“初始”字符串的数

我有3个字符-‘a’、‘b’、‘c’。我需要制作长度为N的字符串,其中N>=3每个字符必须至少在字符串中出现一次。允许重复字符。那么有多少这样的字符串是可能的。

首先: 对于
N=3
,必须使用字符
“abc”
(1个初始字符串)组成字符串

对于
N=4
,您必须使用以下三种格式组成字符串:
“abca”
“abcb”
“abcc”
(3个初始字符串)

对于
N=5
,从
N=4
中提取每个字符串,并附加
“a”
“b”
“c”
,从一个字符串中形成三个字符串。(共9个)

因此,对于给定的
N
,可以使用的可能“初始”字符串的数量是
3^(N-3)

但是: 对于长度为N的每个初始字符串,可能的不同字符串的数量为N

例如,对于N=3,初始字符串为“abc”,但该字符串可以排列成6个不同的字符串:

abc
acb
bac
bca
cab
cba
因此,长度为
N
的可能字符串的总数是:
(3^(N-3))*N,其中字符
“a”
“b”
“c”
至少出现一次

For N=3, it's 6
    N=4,      72
    N=5,      1080
    N=6,      19440
    N=7,      408240
    N=8,      9797760
    N=9,      264539520
    N=10,     7936185600
    ...
    N=32,     1.8058768635096880150713941583736e+49

您正在尝试生成一个这样的字符串吗?您正在尝试生成所有字符串吗?您只是想计算可能的字符串数吗?到目前为止你尝试了什么?我想知道有多少字符串是可能的?无限的。根据你的要求…什么?给予有效的answer@DavidEisenstat你能解释一下吗?这假设
abca
abca
不同,不是吗?(第二个字符串交换了第一个和最后一个元素。)对于N=4,答案应该是36。所以我认为解决方案考虑了重复项。你是对的!我不考虑可能的复制品。对不起(