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点游戏代码的更多相关文章

  1. 疯狂java实战演义 弹球游戏代码

    package org.crazyit.ball; import java.awt.Image; import java.io.File; import javax.imageio.ImageIO; ...

  2. java俄罗斯方块游戏代码

    java俄罗斯方块游戏代码: package com; import java.awt.Color; import java.awt.Graphics; import java.awt.event.K ...

  3. Java实现 LeetCode 679 24 点游戏(递归)

    679. 24 点游戏 你有 4 张写有 1 到 9 数字的牌.你需要判断是否能通过 *,/,+,-,(,) 的运算得到 24. 示例 1: 输入: [4, 1, 8, 7] 输出: True 解释: ...

  4. 24点游戏&&速算24点(dfs)

    24点游戏 Time Limit: 3000/1000MS (Java/Others)     Memory Limit: 65535/65535KB (Java/Others) Submit Sta ...

  5. 1.cocos2dx存储卡的游戏代码、而游戏移植到“华为荣耀”电话、问题的总结移植

     1记忆卡片游戏代码 CardItem.h #pragmaonce #ifndef__CardItem_H__ #define__CardItem_H__ #include"cocos2 ...

  6. 蓦然回首,Java 已经 24 岁了!

    01.蓦然 真没想到,Java 竟然 24 岁了(算是 90 后)! 提起 Java,印象最深刻的当然就是: class Cmower {  public static void main(Strin ...

  7. cdoj 1252 24点游戏 dfs

    24点游戏 Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://acm.uestc.edu.cn/#/problem/show/1252 Descr ...

  8. Java生成MD5加密字符串代码实例

    这篇文章主要介绍了Java生成MD5加密字符串代码实例,本文对MD5的作用作了一些介绍,然后给出了Java下生成MD5加密字符串的代码示例,需要的朋友可以参考下   (1)一般使用的数据库中都会保存用 ...

  9. Java Agent初探——动态修改代码

    用了一下午总算把java agent给跑通了,本篇文章记录一下具体的操作步骤,以免遗忘... 通过java agent可以动态修改代码(替换.修改类的定义),进行AOP. 目标: ? 1 为所有添加@ ...

随机推荐

  1. java-appium-527进阶-1 UiAutomator1&2区别和封装

    1.UiAutomator和UiAtumator2的区别: 1.1 UiAutomator1有关于id定位的策略 UiAutomator1 id定位在resourceid匹配失败时,会匹配conten ...

  2. MySQL-Jira双机热备

    主服务器:192.168.1.23 从服务器:192.168.1.243 一.主服务器Master配置 1. 创建同步账号.赋权 在主服务器上为从服务器建立一个连接帐户,此处用root,该帐户必须授予 ...

  3. 小朋友学C语言(8)

    求圆周率 (一)圆周率简介 圆周率(Pi)是圆的周长与直径的比值,一般用希腊字母π表示,是一个在数学及物理学中普遍存在的数学常数.π也等于圆形之面积与半径平方之比.是精确计算圆周长.圆面积.球体积等几 ...

  4. 对抗样本攻防战,清华大学TSAIL团队再获CAAD攻防赛第一

    最近,在全球安全领域的殿堂级盛会 DEF CON 2018 上,GeekPwn 拉斯维加斯站举行了 CAAD CTF 邀请赛,六支由国内外顶级 AI 学者与研究院组成的队伍共同探讨以对抗训练为攻防手段 ...

  5. HTML5中常用的标签(及标签的属性和作用)

    1.标签:<!DOCTYPE>作用:声明是文档中的第一成分,位于<html>标签之前. 2.标签:<html>作用:此元素可告知浏览器其自身是一个HTML文档.属性 ...

  6. 异步请求fetch之初体验

    更好阅读体验可移步我的博客:Blog 导读 传递信息到服务器,从服务器获取信息,是前端发展的重中之重,尤其是现在前后端分离的大前提下,前后端的数据交互是前端的必修科目了.从很久之前到现在,ajax都是 ...

  7. tornado--同步异步

    同步:指两个或两个以上随时间变化的量在变化过程中保持一定的相对关系 现象:有一个共同的时钟,按来的顺序一个一个处理 异步:双方不需要共同的时钟,也就是接收方不知道发送方什么时候发送,所以在发送的信息中 ...

  8. 通过python给mysql建表

    一.python连接mysql from sqlalchemy import create_engine # 数据库数据 HOSTNAME = '127.0.0.1' # linux本地 PORT = ...

  9. TortoiseGit上传项目到GitHub

    1. 简介 gitHub是一个面向开源及私有软件项目的托管平台,因为只支持git 作为唯一的版本库格式进行托管,故名gitHub. 2. 准备 2.1  安装git:https://git-scm.c ...

  10. [PHP]用户登陆中间件

    Laravel 4中,可以使用Route::filter,而在Laravel 5中,没有了filter.php文件,官方建议使用中间件做. 下面是用户登陆的测试例子,涉及到的一些方法和使用,先参见这里 ...