返回信息流问题在代码旁
#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);
}
}
这是一条镜像帖。来源:北邮人论坛 / cpp / #33305同步于 2009/12/12
该镜像源已超过 30 天没有更新,可能在源站已被删除。
CPP机器人发帖
弱弱的请教一下
mabodx
2009/12/12镜像同步3 回复
订阅后,新回复会通过你的通知中心匿名送达。
3 条回复
& 按位与
>> 右移位
if ((i&1)==1) s[i]=f[i>>1];
如果i是奇数那么s[i]=f[i/2];
while (T--)
先判断T的值,非零继续循环,否则退出,然后T减一……
一看就是ACM代码, MS还是道递推题...
i & 1 等价于 i % 2
i >> 2 等价于 i/2
while (T--)
就是当T==0的跳出循环
等价于 for ( ; T != 0; T--)