Yes: 2*2*2 == 8
Here is the program again, this time with better accuracy because the divisor is 8, a power of two.
class LogTable { public static void main ( String[] args ) { System.out.println( "x" + "\t ln(x)" ); for ( double x = 1.0/8.0; x <= 2.0; x = x + 1.0/8.0 ) { System.out.println( x + "\t" + Math.log( x ) ); } } }
Here is its output:
x ln(x) 0.125 -2.0794415416798357 0.25 -1.3862943611198906 0.375 -0.9808292530117262 0.5 -0.6931471805599453 0.625 -0.4700036292457356 0.75 -0.2876820724517809 0.875 -0.13353139262452263 1.0 0.0 1.125 0.11778303565638346 1.25 0.22314355131420976 1.375 0.3184537311185346 1.5 0.4054651081081644 1.625 0.4855078157817008 1.75 0.5596157879354227 1.875 0.6286086594223741 2.0 0.6931471805599453
This is our best table yet! Unfortunately, because of the awkward increment value (of 1/8) the table is inconvenient for human consumption. But computing a table of numbers for display purposes is rare. Usually the numbers computed in a loop are used by the program itself for some larger task, such as drawing a picture, or for an engineering computation.