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 为所有添加@ ...
随机推荐
- 廖雪峰Java1-2程序基础-7布尔运算符
布尔运算符 关系运算符:>, >=, <, <=, ==,!= 与运算 && 或运算 | 非运算 ! int n = 5; boolean t = n > ...
- eclipse如何调试jar包源码
转载至:http://blog.csdn.net/niclascage/article/details/47451967 引子 深入学习开源代码很多时候都需要去调试别人的jar包.当然如果你能拿别人的 ...
- xshell连不上虚拟机linux的解决办法(用的默认NAT模式)
1.找到Linux系统的ip地址 输入命令 ifconfig 2.打开本地网络连接 将VMnet1的ip地址设置为和虚拟机ip同一网段的ip 比如虚拟机Linux系统的ip为 192.168. ...
- Spark 分布式SQL引擎
SparkSQL作为分布式查询引擎:两种方式 SparkSQL作为分布式查询引擎:Thrift JDBC/ODBC服务 SparkSQL作为分布式查询引擎:Thrift JDBC/ODBC服务 Spa ...
- Python - Django - App 的概念
App 方便我们在一个大的项目中,管理实现不同的业务功能 创建 App: 命令行: python manage.py startapp app名 使用 Pycharm 创建: 文件 -> 新建项 ...
- html 更新
HTML介绍 Web服务本质 import socket sk = socket.socket() sk.bind(("127.0.0.1", 8080)) sk.listen(5 ...
- HTML+CSS实现页面
使用HTML和CSS实现以下页面: 抽屉首页 个人博客首页 小米官网首页 登录注册页面 一.抽屉首页 1.实现目标:https://dig.chouti.com/ 2.代码: HTML: <!- ...
- 管道| , <<<重定向
https://blog.csdn.net/stormbjm/article/details/19173011
- mysql 定时执行
mysqltablevariables任务sqlinsert 重新定义mysql命令行结束符为//,命令行创建存储过程需要. delimiter // MySQL5.1.x版本中引入了一项新特 ...
- 15. "wm_concat"_数据库中将查询出来的多条记录中的某个字段用","拼接起来
例子: select wm_concat(roleid) from lbmember where userid = ? 值的形式:1,2,3 下面是把1,2,3转换为1;2;3select repla ...