⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 math24.java

📁 算24点的java 程序, 可以由任意的4个数字,通过运算+, -, *, /, ()得到24
💻 JAVA
字号:
//import bsh.EvalError;
//import bsh.Interpreter;
/**
 * 穷举法计算24点 先计算两个数 再与第三个数计算 再与第四个数计算
 */

public class Math24 {

	/**
	 * @param args
	 */
	int a, b, c, d;

	public Math24(int a, int b, int c, int d) {

		this.a = a;
		this.b = b;
		this.c = c;
		this.d = d;
	}

	public double[] num1(double a, double b) {

		double[] f = new double[6];
		f[0] = a + b;
		f[1] = a - b;
		f[2] = b - a;
		f[3] = a * b;
		f[4] = a / b;
		f[5] = b / a;
		return f;
	}

	public double[] num2(double[] n, double c) {
		double[] m = new double[36];
		int i, j;
		for (i = 0, j = 0; i < 6; i++) {
			m[j] = n[i] + c;
			m[j + 1] = n[i] - c;
			m[j + 2] = c - n[i];
			m[j + 3] = n[i] * c;
			m[j + 4] = n[i] / c;
			m[j + 5] = c / n[i];
			j = j + 6;
			// System.out.println(n[5]);
		}
		return m;
	}

	public void num3(double[] n, double d) {
		Print24 pl = new Print24();
		double[] m = new double[216];
		int i, j;
		for (i = 0, j = 0; i < 36; i++) {
			m[j] = n[i] + d;
			m[j + 1] = n[i] - d;
			m[j + 2] = d - n[i];
			m[j + 3] = n[i] * d;
			m[j + 4] = n[i] / d;
			m[j + 5] = d / n[i];

			if (m[j] > 23.9 && m[j] < 24.1) {
				pl.printCondition(i,j,a,b,c,this.d);
			}

			if (m[j + 1] > 23.9 && m[j + 1] < 24.1) {
				pl.printCondition(i,j+1,a,b,c,this.d);
			
			}

			if (m[j + 2] > 23.9 && m[j + 2] < 24.1) {
				pl.printCondition(i,j+2,a,b,c,this.d);
				
			}

			if (m[j + 3] > 23.9 && m[j + 3] < 24.1) {
				pl.printCondition(i,j+3,a,b,c,this.d);
			}

			if (m[j + 4] > 23.9 && m[j + 4] < 24.1) {
				pl.printCondition(i,j+4,a,b,c,this.d);
			}

			if (m[j + 5] > 23.9 && m[j + 5] < 24.1) {
				pl.printCondition(i,j+5,a,b,c,this.d);
			}

			j = j + 6;
		}
	}

	public static void main(String[] args) {
		// TODO 自动生成方法存根
		// 要计算3388是否能计算出24
		//int n1 = 2, n2 = 3, n3 = 8, n4 = 13;
		//int n1 = 3, n2 = 3, n3 = 8, n4 = 8;
		int n1 = 2, n2 = 6, n3 = 5, n4 = 9;
		Math24 M21 = new Math24(n1, n2, n3, n4);
		M21.num3(M21.num2(M21.num1(n1, n2), n3), n4);
		Math24 M22 = new Math24(n1, n2, n4, n3);
		M22.num3(M22.num2(M22.num1(n1, n2), n4), n3);
		Math24 M23 = new Math24(n1, n3, n2, n4);
		M23.num3(M23.num2(M23.num1(n1, n3), n2), n4);
		Math24 M24 = new Math24(n1, n3, n4, n2);
		M24.num3(M24.num2(M24.num1(n1, n3), n4), n2);
		Math24 M25 = new Math24(n1, n4, n2, n3);
		M25.num3(M25.num2(M25.num1(n1, n4), n2), n3);
		Math24 M26 = new Math24(n1, n4, n3, n2);
		M26.num3(M26.num2(M26.num1(n1, n4), n3), n2);
		Math24 M27 = new Math24(n2, n3, n1, n4);
		M27.num3(M27.num2(M27.num1(n2, n3), n1), n4);
		Math24 M28 = new Math24(n2, n3, n4, n1);
		M28.num3(M28.num2(M28.num1(n2, n3), n4), n1);
		Math24 M29 = new Math24(n2, n4, n1, n3);
		M29.num3(M29.num2(M29.num1(n2, n4), n1), n3);
		Math24 M30 = new Math24(n2, n4, n3, n1);
		M30.num3(M30.num2(M30.num1(n2, n4), n3), n1);
		Math24 M31 = new Math24(n3, n4, n1, n2);
		M31.num3(M31.num2(M31.num1(n3, n4), n1), n2);
		Math24 M32 = new Math24(n3, n4, n2, n1);
		M32.num3(M32.num2(M32.num1(n3, n4), n2), n1);

	}

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -