
public class HailStone
{
    public static int hailstoneLength(int n)
    {
        int len = 0;
        
        while ( n != 1 )
        {
            len++;
            if ( n%2 == 0 )
                n = n / 2;
            else
                n = 3*n + 1;
        }
        
        return(len + 1);
    }
    
    public static boolean isLongSeq(int n)
    {
        return hailstoneLength(n) > n ;
    }
    
    public static double propLong(int n)
    {
        int numLongSeqs = 0;
        
        for ( int i = 1; i <= n; i++ )
        {
            if ( isLongSeq(i) )
                numLongSeqs++;
        }
        
        return (double)numLongSeqs/n;
    }
}

