24点游戏,例如4+5+6+7       可以得出该值为22  不是24 故输出No

例1x2x6x2    该值为24  输出Yes      输入样例里的‘x’为乘号   其余为运算符+ - /为加减除

4个数字在0-9之间

虽然办法很笨,但适合处理这种题目。这里的0-9数字等于放水了,倘若是10以上的数字或者是负数,这种方法就不适用!

如有问题,后期题目出来,我再运行更正一下,这个答案是考试结束从现场拍回来的代码,不知道手敲是不是有纰漏,但思想就是下面这样,大体不差。不存在技巧,就是正面刚~

import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;public class Main{public static void main(String[] args) {Scanner sc = new Scanner(System.in);//存储每一次输入的算术字符串List<String> list= new ArrayList<String>();//有几个这种字符串int n = sc.nextInt();//存储最终的结果"Yes" "No"String[] result = new String[n];//开始输入 begingfor(int i = 0;i<n;i++){//输入的算术字符串String str = sc.next();//每一次输入算术字符串都把list清空,上一次输入残留的字符串不要了list.clear();//将输入的运算公式放在一个String数组中for(int j = 0;j<str.length();j++){list.add(str.substring(j,j+1));}//将乘法和除法解决掉,让剩下的字符串只包含加减运算for(int w = 0;w<list.size()-1;w++){//如果是乘法运算符"x"if(list.get(w).equals("x")){//取出这个符号两边的数字int num1 = Integer.parseInt(list.get(w-1));int num2 = Integer.parseInt(list.get(w+1));//把结果变成字符串放在target变量中String target = (num1*num2)+"";//把w+1和w位置的元素移除list.remove(w+1);list.remove(w);list.set(w-1, target);//从头再找,看有没有"x"w = 0;}else if(list.get(w).equals("/")){//取出这个符号两边的数字int num1 = Integer.parseInt(list.get(w-1));int num2 = Integer.parseInt(list.get(w+1));//把结果变成字符串放在target变量中String target = (num1/num2)+"";//把w+1和w位置的元素移除list.remove(w+1);list.remove(w);list.set(w-1, target);//从头再找,看有没有"/"w = 0;}}//处理加减运算for(int y = 0;y<list.size()-1;y++){if(list.get(y).equals("+")){//取出这个符号两边的数字int num1 = Integer.parseInt(list.get(y-1));int num2 = Integer.parseInt(list.get(y+1));//把结果变成字符串放在target变量中String target = (num1+num2)+"";//把w+1和w位置的元素移除list.remove(y+1);list.remove(y);list.set(y-1, target);//从头再找,看有没有"+"y = 0;}else if(list.get(y).equals("-")){//取出这个符号两边的数字int num1 = Integer.parseInt(list.get(y-1));int num2 = Integer.parseInt(list.get(y+1));//把结果变成字符串放在target变量中String target = (num1-num2)+"";//把w+1和w位置的元素移除list.remove(y+1);list.remove(y);list.set(y-1, target);//从头再找,看有没有"+"y = 0;}}//到这里list中就只剩一个元素了if(Integer.parseInt(list.get(0))==24){result[i] = "Yes";}else{result[i] = "No";}}//end sc.close();for(int i = 0;i<result.length;i++){System.out.println(result[i]);}}
}

CCF201903-2 二十四点游戏(JAVA版)相关推荐

  1. 计算机二十四点游戏,比比速算24点游戏

    电脑扑克牌游戏试运行在PC端的智力小游戏,这次带来的是比比速算24点游戏,学习纸牌的同时还能不断提高你的头脑思维能力,让你的智商一天比一天更高.比比速算24点游戏设置了一级高手.二级能手.三级好手.四 ...

  2. c语言二十四点游戏,C语言解24点游戏程序

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 前几天在微博上看到24点的游戏,6 6 6 10.算了很久是在算不出来,最后我想我何不写一个小程序解决它?说做就做,我刚开始的想法很简单,就是列举4个数的 ...

  3. 二十四点游戏python_[求助]关于二十四点游戏python

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 24点纸牌游戏的开发 24点是一种老少咸宜的游戏,它的具体玩法如下: 给玩家4张牌,每张牌的面值在1-13之间,允许其中有数值相同的牌.采用加.减.乘.除 ...

  4. 计算机如何玩二十四点游戏,数学二十四点游戏有什么技巧吗?

    首先.电脑是不存在随机这样东西..因为电脑所用到的随机也不可能是完全的随机吧....怎么也是有个初始条件的吧..至于那个初始条件能不能模拟那就是另一回事了.. 纯粹数学上的话..应该把开了的区域和没开 ...

  5. (二十六)java版spring cloud+spring boot 社交电子商务平台-Eureka介绍

    电子商务平台源码请加企鹅求求:一零三八七七四六二六.社交电商平台源码请加企鹅求求:一零三八七七四六二六. 什么是Eureka ? Eureka是一种用于服务注册和发现的组件,和zookeeper功能类 ...

  6. 『牛角书』基于JS实现的鸿蒙游戏——二十四点纸牌

    目录 前言 概述 正式开始 一.创建项目 二.编码 1.项目结构 2.实现思路 3.主要代码块 三.页面及功能展示 1.运算正确 2.运算错误 3.换一批及重置 本人项目仓库链接 前言 相信大家都有玩 ...

  7. 二十四点小游戏——C语言实现

    二十四点小游戏(C语言实现) 过程笨拙,有很多局限之处,比如对答案的输出有限制,代码行数过多,故仅供思路参考. #include<stdio.h> #include<windows. ...

  8. 游戏十连模拟器(java版)

    游戏十连模拟器JAVA版 内容展示 代码 最近有点沉迷坎公骑冠剑这个游戏,然后脸十分的黑,花钻石压根抽不到什么东西.所以写了两版代码模拟这个游戏的抽奖,本文章为JAVA版,还有一版为HTML网页版,可 ...

  9. 经典二十四点程序游戏

    经典二十四点程序算法 来源:http://www.xici.net/d190569991.htm 一.概述 算24点:任意给定四个整数,用加.减.乘.除以及适当的括号连接,无论顺序,使计算结果为24, ...

  10. CCF 201903-2 二十四点 用栈模拟简单计算器

    二十四点 来源:CCF 背景 二十四点是一款著名的纸牌游戏,其游戏的目标是使用 3 个加减乘除运算使得 4张纸牌上数字的运算结果为 24. 题目 定义每一个游戏由 4 个从 1-9 的数字和 3 个四 ...

最新文章

  1. Global Mapper怎么能够导出.xyz文件
  2. python测速程序_Python大数据分析学习.测试程序执行速度
  3. 新浪微博开放平台深度历险
  4. (53)FPGA面试题-利用任务task实现单字节乘法功能(Verilog语言实现)
  5. eval函数pythonmopn_python eval函数
  6. 语音对话平台海尔五代智能电视落地
  7. 2021-06-25 WebStorm的设置代码tab宽度等
  8. 手工制作totem播放器的播放列表
  9. spss软件测试题题库,spss题库_Spss软件可以算试题的区分度吗怎么算_淘题吧
  10. 决策树CART 代价复杂度剪枝
  11. 双十一数码产品选什么好?双十一数码好物推荐
  12. java short 无符号_有符号/无符号的int,short和char
  13. json for modern c++,这是我用过的最好用的json库了
  14. 大型网站系统与Java中间件实践
  15. 使用telnet连接qq pop服务器拉取邮件
  16. 【爱情叙记】--刚闹完别扭
  17. t20171215a1BILL的账单
  18. python如何输入字母_python怎么输出单词的字母
  19. 国产光谱共焦位移传感器能侧哪些地方
  20. 如何做好固定资产管理和盘点?切实可行的方案来了

热门文章

  1. Foxpro 简体转繁体的一种方式(代码)
  2. 中国大数据产业地图,四川61家大数据企业上榜!
  3. Latex |解决缺少.sty文件的问题和引用显示不出来的问题
  4. IBM ServerGuide 8.42
  5. 最好的网盘--主流网盘大比拼
  6. 【工业互联网】工业发展的痛点体现在哪里?如何整合边缘计算与云计算的优势来成就工业智能?
  7. Exchange 2010升级到Exchange 2016汇总
  8. 手机号归属地区编码_科普:身份证和手机号背后的秘密
  9. 利用计算机发布调度命令时必须严格遵守,调度命令规范格式(22页)-原创力文档...
  10. 计算机打印错误,打印机错误正在打印处理方法,教您电脑打印机错误正在打印处理方法...