24点

下面是对24点算法的初步计算
对随机两个数进行加减乘除运算,再将结果与下一个数进行运算最后得出结果与24点比较,并输出结果
package src;

import java.security.Signature;
import java.util.Random;

class cal{//对两张牌进行加减乘除运算
double cal(double num1,double num2,int num){
double sum=0.0;
if(num0){
sum=num1+num2;
}else if(num
1){
sum=num1-num2;
}else if(num==2){
sum=num1*num2;
}else{
sum=num1/num2;
}
return sum;
}
}
public class text3{

	public static void main(String[] args) {
		Random random = new Random();
		cal c=new cal();
		int [] num1 = new int  [4];
		String[] symbol=new String[4];
		//生成扑克
		num1[0] = random.nextInt(10)+1;
		num1[1] = random.nextInt(10)+1;
		num1[2] = random.nextInt(10)+1;
		num1[3] = random.nextInt(10)+1;
		//定义符号数值
		symbol[0] = new String("+");
		symbol[1] = new String("-");
		symbol[2] = new String("*");
		symbol[3] = new String("/");
		//对四张牌进行输出
		System.out.println(num1[0]);
		System.out.println(num1[1]);
		System.out.println(num1[2]);
		System.out.println(num1[3]);
		//对第一种排序就行运算
		int[] poker=new int[]{num1[0],num1[1],num1[2],num1[3]};
		for(int i=0;i<4;i++){
			double sum1=c.cal(poker[0],poker[1],i);
			for(int j=0;j<4;j++){
				double sum2=c.cal(sum1,poker[2],j);
				for(int k=0;k<4;k++){
					double sum=c.cal(sum2,poker[3],k);
					if(sum==24){

System.out.println("(("+poker[0]+symbol[i]+poker[1]+")"+symbol[j]+poker[2]+")"+symbol[k]+poker[3]);
}
}
}
}
//对第二种排序进行运算
for(int i=0;i<4;i++){
double sum1=c.cal(poker[0],poker[1],i);
for(int j=0;j<4;j++){
double sum2=c.cal(sum1,poker[3],j);
for(int k=0;k<4;k++){
double sum=c.cal(sum2,poker[2],k);
if(sum24){
System.out.println("(("+poker[0]+symbol[i]+poker[1]+")"+symbol[j]+poker[3]+")"+symbol[k]+poker[2]);
}
}
}
}
//对第三种排序进行运算
for(int i=0;i<4;i++){
double sum1=c.cal(poker[0],poker[2],i);
for(int j=0;j<4;j++){
double sum2=c.cal(sum1,poker[1],j);
for(int k=0;k<4;k++){
double sum=c.cal(sum2,poker[3],k);
if(sum
24){
System.out.println("(("+poker[0]+symbol[i]+poker[2]+")"+symbol[j]+poker[1]+")"+symbol[k]+poker[3]);
}
}
}
}
//对第四种排序进行运算
for(int i=0;i<4;i++){
double sum1=c.cal(poker[0],poker[2],i);
for(int j=0;j<4;j++){
double sum2=c.cal(sum1,poker[3],j);
for(int k=0;k<4;k++){
double sum=c.cal(sum2,poker[1],k);
if(sum24){
System.out.println("(("+poker[0]+symbol[i]+poker[2]+")"+symbol[j]+poker[3]+")"+symbol[k]+poker[1]);
}
}
}
}
//对第五种排序进行运算
for(int i=0;i<4;i++){
double sum1=c.cal(poker[0],poker[3],i);
for(int j=0;j<4;j++){
double sum2=c.cal(sum1,poker[1],j);
for(int k=0;k<4;k++){
double sum=c.cal(sum2,poker[2],k);
if(sum
24){
System.out.println("(("+poker[0]+symbol[i]+poker[3]+")"+symbol[j]+poker[1]+")"+symbol[k]+poker[2]);
}
}
}
}
//第第六种排序进行运算
for(int i=0;i<4;i++){
double sum1=c.cal(poker[0],poker[3],i);
for(int j=0;j<4;j++){
double sum2=c.cal(sum1,poker[2],j);
for(int k=0;k<4;k++){
double sum=c.cal(sum2,poker[1],k);
if(sum==24){
System.out.println("(("+poker[0]+symbol[i]+poker[3]+")"+symbol[j]+poker[2]+")"+symbol[k]+poker[1]);
}
}
}
}
}
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值