回 帖 发 新 帖 刷新版面

主题:第53次编程比赛结果

冠军就是yxs0001. 真的没有第二次测试的必要了, 压倒性的优势啊。
大家应该都没有意见吧 ?

void unoverlap(int n, char *p)
{
    int i,j;
    p[0] = '0';
    p[1] = '1';
    for(i=2;i<=n/2;i*=2){
        for(j=i-1;j>=0;j--){            
            if(p[j] == '0'){
                p[2*j] = '0';
                p[2*j+1] = '1';
            }
            else{
                p[2*j] = '1';
                p[2*j+1] = '0';
            }
        }
    }
    if((n & 1) == 0){
        p[n] = p[n/2];
    }
    for(i=(n-1)/2;i>=0;i--){
        if(p[i] == '0'){
            p[2*i] = '0';
            p[2*i+1] = '1';
        }
        else{
            p[2*i] = '1';
            p[2*i+1] = '0';
        }
    }
    for(int i = 0;i<n;i++){
        if(p[i] == p[i+1])
            p[i] = '0';
        else
            p[i] = (p[i] - '0')*2 + p[i+1];
    }
    p[n] = '\0';
}

盼望yxs0001能讲解一下你的思路。

回复列表 (共20个回复)

11 楼

呵呵,我家燕子不是一般的强悍。不惊奇。

12 楼

此题出自《C语言名题精选百则》 冼镜光 著

13 楼

这次赢得侥幸,以前看书看到了这样一个序列
01开始,0替换为01,1替换为10,继续下去得到无穷序列,
将序列中的01写为A,10写为B,相同的写为C 满足条件

14 楼

飞燕能否把我那个序列也证明一下?
我虽然碰巧得到了结果,但是仍然没有严格的证明.

15 楼

偶不太明白楼上的构造方法啊

16 楼

就是3楼的帖

17 楼

[quote]此题出自《C语言名题精选百则》 冼镜光 著[/quote]

那本书上的题都是从别处搜出来的。

不过我的确是从那本书看到这个题的,呵呵

18 楼


林中飞燕是何等人也?

19 楼

貌似是几何分形
以0 1开始每次取反码然后加在后面
0 1
0 1 1 0
0 1 1 0 1 0 0 1
0 1 1 0 1 0 0 1 1 0 0 1 0 1 1 0

20 楼

啊!让我佩服,我也喜欢编程,但是自己编的不好,有机会向大侠们学习学习!



-------------------------------------------
[url=http://www.zsyxmx.com/1/zs1jijiu7.htm]心肺复苏模拟人[/url] 
[url=http://www.zsyxmx.com]医学模型[/url] 
[url=http://www.pumpzc.com/1/guandaobeng.htm]管道泵[/url] [url=http://www.pumpzc.com/1/cilibeng.htm]磁力泵[/url]

我来回复

您尚未登录,请登录后再回复。点此登录或注册