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

📄 dfgshsjgdsjkl.txt

📁 给出3
💻 TXT
字号:
import java.io.BufferedReader; 
import java.io.InputStreamReader; 


public class Test24Point{ 
public static void main(String args[]){ 
int index = 0 ; 
int temp = 0 ; 
int totalSuc = 0 ; 

int numb[] = new int[4];//the first four numbers 
double num[][] = new double[36][3];//three numbers after calculating 
double total[] = new double[6];//the number after three steps of calculating 

double p[][] = new double[6][8]; 
double q[][] = new double[3][7]; 

System.out.println("\"a--b\"means\"b-a\""); 
System.out.println("\"a//b\"means\"b/a\"\n"); 


try { 
BufferedReader br = new BufferedReader(new InputStreamReader( 
System.in)); 
String str = null; 
System.out.println("请输入您的数字:"); 
str = br.readLine(); 
if("exit".equals(str)){ 
return; 
} 
System.out.println("您输入得值为 : " + str); 
String[] templ = str.split(" "); 

for (int i = 0; i < templ.length; i++) { 

numb[i] = Integer.parseInt(templ[i]); 
} 
}catch(Exception ex){ 
System.out.println("您输入的数字有误!"); 
System.out.println("请重新输入!"); 
} 


for(int i = 0; i < 3; i ++)//Get two of the four to calculate and then store the new number into the array p; 
for(int j = i + 1; j < 4 ; j ++,temp ++){ 
p[temp][0] = numb[i] + numb[j]; 
p[temp][1] = numb[i] - numb[j]; 
p[temp][2] = numb[j] - numb[i]; 
p[temp][3] = numb[i] * numb[j]; 
if(numb[j] != 0) 
p[temp][4] = numb[i] / (double)numb[j]; 
else 
p[temp][4] = 10000; 
if(numb[i] != 0) 
p[temp][5] = numb[j] / (double)numb[i]; 
else 
p[temp][5] = 10000; 



switch(temp){ 
case 0:p[temp][6] = numb[2]; p[temp][7] = numb[3];break; 
case 1:p[temp][6] = numb[1]; p[temp][7] = numb[3];break; 
case 2:p[temp][6] = numb[1]; p[temp][7] = numb[2];break; 
case 3:p[temp][6] = numb[0]; p[temp][7] = numb[3];break; 
case 4:p[temp][6] = numb[0]; p[temp][7] = numb[2];break; 
case 5:p[temp][6] = numb[0]; p[temp][7] = numb[1]; 
} 

} 

for(int k = 0,tem = 0; k < 6; k ++)//Get the possible three numbers and store into the array num[36][3] for calculating . 
for(int l = 0; l < 6; l ++,tem ++){ 
num[tem][0] = p[k][l] ; 
num[tem][1] = p[k][6] ; 
num[tem][2] = p[k][7] ; 


for(int t = 2,m = 0, n = 0,te = 0; t >= 0; t --,te ++){//Get two of the three to calculate and then store the new number into the array q; 
m = (t + 1)%3; 
n = (t + 2)%3; 
q[te][6] = num[tem][t]; 

q[te][0] = num[tem][m] + num[tem][n]; 
q[te][1] = num[tem][m] - num[tem][n]; 
q[te][2] = num[tem][n] - num[tem][m]; 
q[te][3] = num[tem][m] * num[tem][n]; 
if(num[tem][n] != 0) 
q[te][4] = num[tem][m] / (double)num[tem][n]; 
else 
q[te][4] = 10000 ; 
if(num[tem][m] != 0) 
q[te][5] = num[tem][n] / (double)num[tem][m]; 
else 
q[te][5] = 10000 ; 
} 

for(int u = 0; u < 3; u ++) 
for(int v = 0; v < 6; v ++){ 
if(u == 2){//We must insure that the old value is in the left ,so the result string can be appended rightly. 
total[0] = q[u][6] + q[u][v]; 
total[1] = q[u][6] - q[u][v]; 
total[2] = q[u][v] - q[u][6]; 
total[3] = q[u][v] * q[u][6]; 
if(q[u][6] != 0) 
total[4] = q[u][6] / (double)q[u][v]; 
else 
total[4] = 10000; 
if(q[u][v] != 0) 
total[5] = q[u][v] / (double)q[u][6]; 
else 
total[5] = 10000; 
} 
else{ 
total[0] = q[u][v] + q[u][6]; 
total[1] = q[u][v] - q[u][6]; 
total[2] = q[u][6] - q[u][v]; 
total[3] = q[u][v] * q[u][6]; 
if(q[u][6] != 0) 
total[4] = q[u][v] / (double)q[u][6]; 
else 
total[4] = 10000; 
if(q[u][v] != 0) 
total[5] = q[u][6] / (double)q[u][v]; 
else 
total[5] = 10000; 
} 

for(int s = 0 ; s < 6 ; s ++){ 
if(total[s]>23.9999&&total[s]<24.0001){ 
//System.out.println("24!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"); 
totalSuc ++ ; 
//print the expression 
char x[] = new char[3]; 
int n0 = index ; 
String expre = "" ; 
String expre1 = "" ; 
int n1 = index/108;//the first composition and its operator. 
int n2 = index%108/6;//the second composition and its operator. 
int n3 = index%6;//the last operator. 


//now ready to printout the equation. 
switch(n1){ 

case 0:expre += "((a+b)";x[1]='c';x[2]='d';break; 
case 1:expre += "((a-b)";x[1]='c';x[2]='d';break; 
case 2:expre += "((b-a)";x[1]='c';x[2]='d';break; 
case 3:expre += "((a*b)";x[1]='c';x[2]='d';break; 
case 4:expre += "((a/b)";x[1]='c';x[2]='d';break; 
case 5:expre += "((b/a)";x[1]='c';x[2]='d';break; 
case 6:expre += "((a+c)";x[1]='b';x[2]='d';break; 
case 7:expre += "((a-c)";x[1]='b';x[2]='d';break; 
case 8:expre += "((c-a)";x[1]='b';x[2]='d';break; 
case 9:expre += "((a*c)";x[1]='b';x[2]='d';break; 
case 10:expre += "((a/c)";x[1]='b';x[2]='d';break; 
case 11:expre += "((c/a)";x[1]='b';x[2]='d';break; 
case 12:expre += "((a+d)";x[1]='b';x[2]='c';break; 
case 13:expre += "((a-d)";x[1]='b';x[2]='c';break; 
case 14:expre += "((d-a)";x[1]='b';x[2]='c';break; 
case 15:expre += "((a*d)";x[1]='b';x[2]='c';break; 
case 16:expre += "((a/d)";x[1]='b';x[2]='c';break; 
case 17:expre += "((d/a)";x[1]='b';x[2]='c';break; 
case 18:expre += "((b+c)";x[1]='a';x[2]='d';break; 
case 19:expre += "((b-c)";x[1]='a';x[2]='d';break; 
case 20:expre += "((c-b)";x[1]='a';x[2]='d';break; 
case 21:expre += "((b*c)";x[1]='a';x[2]='d';break; 
case 22:expre += "((b/c)";x[1]='a';x[2]='d';break; 
case 23:expre += "((c/b)";x[1]='a';x[2]='d';break; 
case 24:expre += "((b+d)";x[1]='a';x[2]='c';break; 
case 25:expre += "((b-d)";x[1]='a';x[2]='c';break; 
case 26:expre += "((d-b)";x[1]='a';x[2]='c';break; 
case 27:expre += "((b*d)";x[1]='a';x[2]='c';break; 
case 28:expre += "((b/d)";x[1]='a';x[2]='c';break; 
case 29:expre += "((d/b)";x[1]='a';x[2]='c';break; 
case 30:expre += "((c+d)";x[1]='a';x[2]='b';break; 
case 31:expre += "((c-d)";x[1]='a';x[2]='b';break; 
case 32:expre += "((d-c)";x[1]='a';x[2]='b';break; 
case 33:expre += "((c*d)";x[1]='a';x[2]='b';break; 
case 34:expre += "((c/d)";x[1]='a';x[2]='b';break; 
case 35:expre += "((d/c)";x[1]='a';x[2]='b'; 
} 

switch(n2){ 

case 0:expre += "+" +x[1] +")";x[1]=x[2];break;//x[0] and x[1]. 
case 1:expre += "-" +x[1] +")";x[1]=x[2];break; 
case 2:expre += "--" +x[1] +")";x[1]=x[2];break; 
case 3:expre += "*" +x[1] +")";x[1]=x[2];break; 
case 4:expre += "/" +x[1] +")";x[1]=x[2];break; 
case 5:expre += "//" +x[1] +")";x[1]=x[2];break; 

case 6:expre += "+" +x[2] +")";x[1]=x[1];break;//x[2] and x[0]. 
case 7:expre += "--" +x[2] +")";x[1]=x[1];break; 
case 8:expre += "-" +x[2] +")";x[1]=x[1];break; 
case 9:expre += "*" +x[2] +")";x[1]=x[1];break; 
case 10:expre += "//" +x[2] +")";x[1]=x[1];break; 
case 11:expre += "/" +x[2] +")";x[1]=x[1];break; 

case 12:expre1 += x[1] + "+" + x[2] +"))";x[1]='(';break;//x[1] and x[2]. 
case 13:expre1 += x[1] + "-" + x[2] +"))";x[1]='(';break; 
case 14:expre1 += x[1] + "--" + x[2] +"))";x[1]='(';break; 
case 15:expre1 += x[1] + "*" + x[2] +"))";x[1]='(';break; 
case 16:expre1 += x[1] + "/" + x[2] +"))";x[1]='(';break; 
case 17:expre1 += x[1] + "//" + x[2] +"))";x[1]='('; 
} 

switch(n3){ 

case 0:expre += "+" +x[1] + expre1;break; 
case 1:expre += "-" +x[1] + expre1;break; 
case 2:expre += "--" +x[1] + expre1;break; 
case 3:expre += "*" +x[1] + expre1;break; 
case 4:expre += "/" +x[1] + expre1;break; 
case 5:expre += "//" +x[1] + expre1; 
} 
expre = expre.replace('a',(char)(numb[0] + 48)); 
expre = expre.replace('b',(char)(numb[1] + 48)); 
expre = expre.replace('c',(char)(numb[2] + 48)); 
expre = expre.replace('d',(char)(numb[3] + 48)); 

System.out.println(expre+" "); 
} 
//System.out.println("total : " + total[s] + " index :" +"\n\n"); 


index ++ ; 
} 

} 

}System.out.println("The number of total successful expressions is : " + totalSuc); 
} 

} 

⌨️ 快捷键说明

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