相关疑难解决方法(0)

生成任意字母表的所有组合,直到任意长度

假设我有一个包含单个字符的任意大小的数组.我想计算这些字符的所有可能组合,直到任意长度.

所以我要说我的数组是[1,2,3].用户指定的长度为2.然后可能的组合为[11,22,33,12,13,23,21,31,32].

我很难找到一个允许任意长度的合适算法,而不仅仅是排列数组.哦,虽然速度并非绝对关键,但它也应该相当快.

algorithm combinations permutation

7
推荐指数
1
解决办法
7417
查看次数

任意数字计数器

我需要一个计数器algortihm,它使用任意给定的数字进行计数.

我的代码与此类似:

static char digits[] = {'x','y','z'}; /* Arbitrary number of arbitrary digits. */
int i;
for(i=0; i<100; i++) {
    printf("%s\n", get_next());
}
Run Code Online (Sandbox Code Playgroud)

我的预期产量:

x
y
z
yx
yy
yz
zx
zy
zz
yxx
yxy
yxz
yyx
yyy
yyz
yzx
yzy
yzz
zxx
... and so on
Run Code Online (Sandbox Code Playgroud)

如你所见,我需要算法来实现get_next()函数,所以使用C语言不是重点.

编辑我以澄清目的:

我的get_next()函数可能与此类似:

char get_next() {
    static previous = digits[0];
    char *next_number;

    /* do something here using previous and digits[] */

    return next_number;
}
Run Code Online (Sandbox Code Playgroud)

请注意,使用get_next(void)或 …

c algorithm counter state-machine

0
推荐指数
1
解决办法
903
查看次数