public class RoundingErrors {
	public static void main(String [] args) {
		System.out.println("30.0/3.0: " + 30.0/3.0);
		System.out.println("10.0/3.0: " + 10.0/3.0);
		System.out.println("1.0/3.0: " + 1.0/3.0);
		System.out.println();

		System.out.println("10.0/3.0 + 10.0/3.0 + 10.0/3.0: " + (10.0/3.0 + 10.0/3.0  + 10.0/3.0));
		System.out.println("30 * (1.0/3.0)    : " + (30* (1/3.0)));
		System.out.println(
			"1.0/3.0 + 1.0/3.0 + ... + 1.0/3.0: " +
			(1.0/3.0 + 1.0/3.0 + 1.0/3.0 +
			1.0/3.0 + 1.0/3.0 + 1.0/3.0 +
			1.0/3.0 + 1.0/3.0 + 1.0/3.0 +
			1.0/3.0 + 1.0/3.0 + 1.0/3.0 +
			1.0/3.0 + 1.0/3.0 + 1.0/3.0 +
			1.0/3.0 + 1.0/3.0 + 1.0/3.0 +
			1.0/3.0 + 1.0/3.0 + 1.0/3.0 +
			1.0/3.0 + 1.0/3.0 + 1.0/3.0 +
			1.0/3.0 + 1.0/3.0 + 1.0/3.0 +
			1.0/3.0 + 1.0/3.0 +  1.0/3.0));
		double total = 0;
		System.out.print(total + " ");
		for (int i = 1; i <= 30; i = i + 1) {
			total = total + 1.0/3.0;
			System.out.print(total + "  ");
		}
		System.out.println();
		System.out.println("3 * (10.0/3.0): " + (3 * (10.0/3.0)));
		System.out.println("30 * (1.0/3.0): " + (30 * (1.0/3.0)));

		System.out.println();

		System.out.println("10 * 0.1: " + (10 * 0.1));
		System.out.println("0.1 + 0.1 + ... + 0.1: " + (0.1 + 0.1 + 0.1 + 0.1 + 0.1 + 0.1 + 0.1 + 0.1 + 0.1 + 0.1));
		double d1 = 0.1 * 10;
		double d2 = 0.1 + 0.1 + 0.1 + 0.1 + 0.1 + 0.1 + 0.1 + 0.1 + 0.1 + 0.1;
		if (d1 == d2)
			System.out.println("equal");
		else
			System.out.println("not equal");

		System.out.println();

		total = 0;
		System.out.print(total + " ");
		for (int i = 1; i <= 10; i = i + 1) {
			total = total + 0.1;
			System.out.print(total + " ");
		}

		System.out.println();


	}
}
