/* FunctionTables.java
 * October 24, 2006
 * John Costanzo
 */

import edu.neu.ccs.*;
import edu.neu.ccs.gui.*;
import edu.neu.ccs.codec.*;
import edu.neu.ccs.console.*;
import edu.neu.ccs.filter.*;
import edu.neu.ccs.jpf.*;
import edu.neu.ccs.parser.*;
import edu.neu.ccs.pedagogy.*;
import edu.neu.ccs.quick.*;
import edu.neu.ccs.util.*;

import java.awt.*;
import java.awt.event.*;
import java.awt.geom.*;
import java.awt.font.*;
import java.awt.image.*;
import javax.swing.*;
import javax.swing.border.*;
import java.io.*;
import java.util.*;
import java.math.*;
import java.beans.*;
import java.lang.reflect.*;
import java.net.URL;
import java.util.regex.*;
import java.text.ParseException;

public class FunctionTables extends JPF
{
	public static void main( String[] args )
	{
		new FunctionTables();
	}
	public void TableOfPowerOf2( int n )
	{
		int x = 1;	// 2^0 is 1
		for( int i = 0; i<=n; i++ )
		{
			console.out.println( "2 to power " + i + " = " + x );
			x*=2;
		}		
	}
	public void BinomialTable( int n )
	{
		int b = 1; // n nCr 0 = 1
		for( int k=0; k<=n; k++ )
		{
			if( k!=0 ) b = b * ( n - k + 1 ) / k;	// dividing by zero is bad! 0 < k <= n
			console.out.println( "B(" + n + "," + k + ") = " + b );
		}
	}
	
}
