java实现24点游戏代码
import java.util.Arrays;
import java.util.Scanner;
public class Test07 {
    public static void main(String[] args) {
Scanner scn = new Scanner(System.in);
int shu[] = new int[4];
        for (int i = 0; i < 4; i++) {
            shu[i] = scn.nextInt();
}
// int shu[] = { 5, 9, 9, 4 };
char op[] = { '+', '-', '*', '/' };
A : for (int i = 0; i < 4; i++) {
for (int n1 = 0; n1 < op.length; n1++) {
for (int j = 0; j < 4; j++) {
for (int n2 = 0; n2 < op.length; n2++) {
for (int k = 0; k < 4; k++) {
for (int n3 = 0; n3 < op.length; n3++) {
for (int m = 0; m < 4; m++) {
// 选的这4个数不能重复
                                    
                                    if (isAllTheOrgiNum(shu[i], shu[j], shu[k], shu[m], shu)) {
                                        double temp = 0;
                                        switch (op[n1]) {
                                        case '+':
                                            temp = shu[i] + shu[j];
                                            break;
                                        case '-':
                                            temp = shu[i] - shu[j];
                                            break;
                                        case '*':
                                            temp = shu[i] * shu[j];
                                            break;
                                        case '/':
                                            temp = (double) shu[i] / shu[j];
                                            break;
                                        }
switch (op[n2]) {
                                        case '+':
                                            temp = temp + shu[k];
                                            break;
                                        case '-':
                                            temp = temp - shu[k];
                                            break;
                                        case '*':
                                            temp = temp * shu[k];
                                            break;
                                        case '/':
                                            temp = (double) temp / shu[k];
                                            break;
                                        }
switch (op[n3]) {
                                        case '+':
                                            temp = temp + shu[m];
                                            break;
                                        case '-':
                                            temp = temp - shu[m];
                                            break;
                                        case '*':
                                            temp = temp * shu[m];
                                            break;
                                        case '/':
                                            temp = (double) temp / shu[m];
                                            break;
                                        }
if (temp == 24) {
                                            System.out.println("(" + "(" + shu[i] + " " + op[n1] + " " + shu[j] + ")"
                                                    + " " + op[n2] + " " + shu[k] + ")" + " " + op[n3] + " " + shu[m]);
                                            break A;
                                        }
                                    }
}
                            }
                        }
                    }
                }
            }
        }
}
private static boolean isAllTheOrgiNum(int i, int j, int k, int l, int[] shu) {
        // TODO Auto-generated method stub
        int[] a = { i, j, k, l };
        Arrays.sort(a);
        Arrays.sort(shu);
        if(a[0]==shu[0] && a[1]==shu[1] &&a[2]==shu[2] && a[3]==shu[3]) {
            return true;
        }
        return false;
    }
}
java实现24点游戏代码的更多相关文章
- 疯狂java实战演义     弹球游戏代码
		
package org.crazyit.ball; import java.awt.Image; import java.io.File; import javax.imageio.ImageIO; ...
 - java俄罗斯方块游戏代码
		
java俄罗斯方块游戏代码: package com; import java.awt.Color; import java.awt.Graphics; import java.awt.event.K ...
 - Java实现 LeetCode 679 24 点游戏(递归)
		
679. 24 点游戏 你有 4 张写有 1 到 9 数字的牌.你需要判断是否能通过 *,/,+,-,(,) 的运算得到 24. 示例 1: 输入: [4, 1, 8, 7] 输出: True 解释: ...
 - 24点游戏&&速算24点(dfs)
		
24点游戏 Time Limit: 3000/1000MS (Java/Others) Memory Limit: 65535/65535KB (Java/Others) Submit Sta ...
 - 1.cocos2dx存储卡的游戏代码、而游戏移植到“华为荣耀”电话、问题的总结移植
		
 1记忆卡片游戏代码 CardItem.h #pragmaonce #ifndef__CardItem_H__ #define__CardItem_H__ #include"cocos2 ...
 - 蓦然回首,Java 已经 24 岁了!
		
01.蓦然 真没想到,Java 竟然 24 岁了(算是 90 后)! 提起 Java,印象最深刻的当然就是: class Cmower { public static void main(Strin ...
 - cdoj 1252 24点游戏 dfs
		
24点游戏 Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://acm.uestc.edu.cn/#/problem/show/1252 Descr ...
 - Java生成MD5加密字符串代码实例
		
这篇文章主要介绍了Java生成MD5加密字符串代码实例,本文对MD5的作用作了一些介绍,然后给出了Java下生成MD5加密字符串的代码示例,需要的朋友可以参考下 (1)一般使用的数据库中都会保存用 ...
 - Java Agent初探——动态修改代码
		
用了一下午总算把java agent给跑通了,本篇文章记录一下具体的操作步骤,以免遗忘... 通过java agent可以动态修改代码(替换.修改类的定义),进行AOP. 目标: ? 1 为所有添加@ ...
 
随机推荐
- 小峰servlet/jsp(6)jstl核心标签库
			
一.引入jstl 需要jstl.jar;standard.jar; 二.jstl核心标签库: c:out 内容输出标签; c:set 用来设置4种属性范围值的标签: c:re ...
 - springMVC学习(7)-springMVC校验
			
一.校验理解: 对于安全要求较高点建议在服务端进行校验. 控制层conroller:校验页面请求的参数的合法性.在服务端控制层conroller校验,不区分客户端类型(浏览器.手机客户端.远程调用) ...
 - 如何捕捉@tornado.gen.coroutine里的异常
			
from tornado import gen from tornado.ioloop import IOLoop @gen.coroutine def throw(a,b): try: a/b ra ...
 - 使用minGW/cygwin在Windows是用于gcc开发
			
刚才记录了下用eclipse在linux下开发,突然想起来也另一种方法:MinGW. MinGW是Windows的gcc开发工具,直接使用Windows的运行库,所以可以在windows下面方便的用g ...
 - 理解prototype
			
从别人的博客里面盗了2张图,这2张图将对象/实例/prototype/__proto__/constructor之间的关系描绘的很清楚. 1.prototype 为 function的属性,实例化的对 ...
 - opencv小问题大智慧
			
opencv易错点记录 1. 判断条件不应使用CV_ASSERT(),而使用CV_Assert(). 2. 用下面这个自适应阈值必须进行数据的转换,不能直接传入数据!不然程序一直崩溃,找了很久才发现 ...
 - PHP写日志公共类
			
Txl_Log.php <?php if ( ! defined('BASEPATH')) exit('No direct script access allowed'); /** * * * ...
 - 内建函数(builtins)和functools
			
内建函数 Build-in Function,启动python解释器,输入dir(__builtins__), 可以看到很多python解释器启动后默认加载的属性和函数,这些函数称之为内建函数, 这些 ...
 - 21. orcle导出sql脚本时,提示“超出打开游标最大数”
			
1.解决办法:修改下打开游标最大数即可 SQL> show parameter open_cursors;NAME TYPE ...
 - leetcode150
			
public class Solution { public int EvalRPN(string[] tokens) { Stack<int> ST_NUM = new Stack< ...