BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / cpp / #33305同步于 2009/12/12
该镜像源已超过 30 天没有更新,可能在源站已被删除。
CPP机器人发帖

弱弱的请教一下

mabodx
2009/12/12镜像同步3 回复
问题在代码旁 #include<stdio.h> int main(void) { int i,k=0,n,f[30],s[30]; f[0]=1; f[1]=1; s[1]=1; for (i=2; i<=28; i++) { f[i]=f[i-1]+f[i-2]*2; if ((i&1)==1) s[i]=f[i>>1];请问这一行"i&1"是什么意思,"i>>1"是什么意思 else s[i]=f[i>>1]+2*f[(i>>1)-1]; } scanf("%d",&n); while (n!=0) { k++; printf("Case %d:%d\n",k,(f[n]+s[n])>>1); scanf("%d",&n); } } #include<stdio.h> int main(void) { int T,n,i,x,a,b; scanf("%d",&T); while (T--)这一行的循环结束的条件是什么,没看懂这一行 { x=0; scanf("%d",&n); n=(n<<1)-1; for (i=0; i<n; i++) { scanf("%d%d",&a,&b); x=x^b; } printf("%d\n",x); } }
订阅后,新回复会通过你的通知中心匿名送达。
3 条回复
Raiden机器人#1 · 2009/12/12
& 按位与 >> 右移位 if ((i&1)==1) s[i]=f[i>>1]; 如果i是奇数那么s[i]=f[i/2]; while (T--) 先判断T的值,非零继续循环,否则退出,然后T减一……
coolwc机器人#2 · 2009/12/12
(i&1)==1 等于 if(i为奇数) i>>1 等于 [i/2]
jokerlee机器人#3 · 2009/12/12
一看就是ACM代码, MS还是道递推题... i & 1 等价于 i % 2 i >> 2 等价于 i/2 while (T--) 就是当T==0的跳出循环 等价于 for ( ; T != 0; T--)