因为中间结果可能大于int的存储范围,所以用long long.
int main()
{
long long A,L;
int k=1;
while(~scanf("%lld%lld",&A,&L)&&A>=0&&L>=0)
{
long long x=A;
int c=0;
while(A>1&&A<=L)
{
c++;
if(A&1)
A=3*A+1;
else
A>>=1;
if(A>L)
c--;
}
printf("Case %d: A = %lld, limit = %lld, number of terms = %d\n",k++,x,L,c+1);
}
return 0;
}