Tuesday, March 29, 2011

100 - The 3n + 1 problem


#include<stdio.h>
int main()
{
    long i,j,k,p,x,y;
    int t,n1=0,n2=0;
    //freopen("in.txt.txt","r",stdin);
    while(scanf("%ld %ld",&i,&j)==2)
    {
        n2=0,t=0,x=i,y=j;
        if(i>j)
        {
            i=i^j;
            j=j^i;
            i=i^j;
        }
        p=i;
       
        for(;i<=j;i++)
        {
            k=i,n1=0;
            while(k != 1)
            {
                if(k&1)k=(k<<1)+k+1;
                else k=k>>1;
                n1++;
            }
            if(n1>n2)n2=n1;
        }
        printf("%ld %ld %d\n",x,y,n2+1);   
    }
    return 0;   
}

No comments:

Post a Comment

Note: Only a member of this blog may post a comment.