小编ush*_*hik的帖子

生成具有k个的二进制字符串序列,其中下一个字符串以两位数字不同

我想知道算法生成长度为n的二进制字符串的序列,其中k个为下一个字符串,两个数字不同.

例如:

11100
11010
11001
10101
10110
10011
00111
01011
01101
01110
11100
Run Code Online (Sandbox Code Playgroud)

当然,必须使用所有n \choose k二进制字符串.

algorithm binary sequence

8
推荐指数
1
解决办法
2263
查看次数

奇怪的C函数 - 这个函数在做什么?

我没有任何评论地赞成这个功能.我想知道这个功能在做什么?有帮助吗?

int flr(int n, char a[])
{
    #define A(i) a[((i) + k) % n]
    int l[n], ls = n, z[n], min = 0;

    for (int i = 0; i < n; i++)
    {
        l[i] = i;
        z[i] = 1;
    }

    for (int k = 0; ls >= 2; k++)
    {
        min = l[0];
        for (int i=0; i<ls; i++) min = A(l[i])<A(min) ? l[i] : min;
        for (int i=0; i<ls; i++) z[A(l[i])!=A(min) ? l[i] : (l[i]+k+1)%n] = 0;
        for (int ls_=ls, …
Run Code Online (Sandbox Code Playgroud)

c function

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

标签 统计

algorithm ×1

binary ×1

c ×1

function ×1

sequence ×1