主题:第53次编程比赛结果
小黑骑DK [专家分:610] 发布于 2007-05-23 09:45:00
冠军就是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 楼
飘~~~ [专家分:850] 发布于 2007-05-24 10:40:00
呵呵,我家燕子不是一般的强悍。不惊奇。
12 楼
medie2005 [专家分:30] 发布于 2007-05-24 11:40:00
此题出自《C语言名题精选百则》 冼镜光 著
13 楼
yxs0001 [专家分:9560] 发布于 2007-05-24 12:10:00
这次赢得侥幸,以前看书看到了这样一个序列
01开始,0替换为01,1替换为10,继续下去得到无穷序列,
将序列中的01写为A,10写为B,相同的写为C 满足条件
14 楼
goal00001111 [专家分:4030] 发布于 2007-05-24 12:37:00
飞燕能否把我那个序列也证明一下?
我虽然碰巧得到了结果,但是仍然没有严格的证明.
15 楼
雨中飞燕 [专家分:18980] 发布于 2007-05-24 12:51:00
偶不太明白楼上的构造方法啊
17 楼
小黑骑DK [专家分:610] 发布于 2007-05-24 16:02:00
[quote]此题出自《C语言名题精选百则》 冼镜光 著[/quote]
那本书上的题都是从别处搜出来的。
不过我的确是从那本书看到这个题的,呵呵
18 楼
iiovemyhome [专家分:0] 发布于 2007-05-24 17:56:00
林中飞燕是何等人也?
19 楼
wangfangbob [专家分:380] 发布于 2007-05-24 22:25:00
貌似是几何分形
以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 楼
lancao8 [专家分:10] 发布于 2009-07-02 13:08:00
啊!让我佩服,我也喜欢编程,但是自己编的不好,有机会向大侠们学习学习!
-------------------------------------------
[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]
我来回复