CCF201903-2 二十四点游戏(JAVA版)
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版)相关推荐
- 计算机二十四点游戏,比比速算24点游戏
电脑扑克牌游戏试运行在PC端的智力小游戏,这次带来的是比比速算24点游戏,学习纸牌的同时还能不断提高你的头脑思维能力,让你的智商一天比一天更高.比比速算24点游戏设置了一级高手.二级能手.三级好手.四 ...
- c语言二十四点游戏,C语言解24点游戏程序
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 前几天在微博上看到24点的游戏,6 6 6 10.算了很久是在算不出来,最后我想我何不写一个小程序解决它?说做就做,我刚开始的想法很简单,就是列举4个数的 ...
- 二十四点游戏python_[求助]关于二十四点游戏python
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 24点纸牌游戏的开发 24点是一种老少咸宜的游戏,它的具体玩法如下: 给玩家4张牌,每张牌的面值在1-13之间,允许其中有数值相同的牌.采用加.减.乘.除 ...
- 计算机如何玩二十四点游戏,数学二十四点游戏有什么技巧吗?
首先.电脑是不存在随机这样东西..因为电脑所用到的随机也不可能是完全的随机吧....怎么也是有个初始条件的吧..至于那个初始条件能不能模拟那就是另一回事了.. 纯粹数学上的话..应该把开了的区域和没开 ...
- (二十六)java版spring cloud+spring boot 社交电子商务平台-Eureka介绍
电子商务平台源码请加企鹅求求:一零三八七七四六二六.社交电商平台源码请加企鹅求求:一零三八七七四六二六. 什么是Eureka ? Eureka是一种用于服务注册和发现的组件,和zookeeper功能类 ...
- 『牛角书』基于JS实现的鸿蒙游戏——二十四点纸牌
目录 前言 概述 正式开始 一.创建项目 二.编码 1.项目结构 2.实现思路 3.主要代码块 三.页面及功能展示 1.运算正确 2.运算错误 3.换一批及重置 本人项目仓库链接 前言 相信大家都有玩 ...
- 二十四点小游戏——C语言实现
二十四点小游戏(C语言实现) 过程笨拙,有很多局限之处,比如对答案的输出有限制,代码行数过多,故仅供思路参考. #include<stdio.h> #include<windows. ...
- 游戏十连模拟器(java版)
游戏十连模拟器JAVA版 内容展示 代码 最近有点沉迷坎公骑冠剑这个游戏,然后脸十分的黑,花钻石压根抽不到什么东西.所以写了两版代码模拟这个游戏的抽奖,本文章为JAVA版,还有一版为HTML网页版,可 ...
- 经典二十四点程序游戏
经典二十四点程序算法 来源:http://www.xici.net/d190569991.htm 一.概述 算24点:任意给定四个整数,用加.减.乘.除以及适当的括号连接,无论顺序,使计算结果为24, ...
- CCF 201903-2 二十四点 用栈模拟简单计算器
二十四点 来源:CCF 背景 二十四点是一款著名的纸牌游戏,其游戏的目标是使用 3 个加减乘除运算使得 4张纸牌上数字的运算结果为 24. 题目 定义每一个游戏由 4 个从 1-9 的数字和 3 个四 ...
最新文章
- Global Mapper怎么能够导出.xyz文件
- python测速程序_Python大数据分析学习.测试程序执行速度
- 新浪微博开放平台深度历险
- (53)FPGA面试题-利用任务task实现单字节乘法功能(Verilog语言实现)
- eval函数pythonmopn_python eval函数
- 语音对话平台海尔五代智能电视落地
- 2021-06-25 WebStorm的设置代码tab宽度等
- 手工制作totem播放器的播放列表
- spss软件测试题题库,spss题库_Spss软件可以算试题的区分度吗怎么算_淘题吧
- 决策树CART 代价复杂度剪枝
- 双十一数码产品选什么好?双十一数码好物推荐
- java short 无符号_有符号/无符号的int,short和char
- json for modern c++,这是我用过的最好用的json库了
- 大型网站系统与Java中间件实践
- 使用telnet连接qq pop服务器拉取邮件
- 【爱情叙记】--刚闹完别扭
- t20171215a1BILL的账单
- python如何输入字母_python怎么输出单词的字母
- 国产光谱共焦位移传感器能侧哪些地方
- 如何做好固定资产管理和盘点?切实可行的方案来了
热门文章
- Foxpro 简体转繁体的一种方式(代码)
- 中国大数据产业地图,四川61家大数据企业上榜!
- Latex |解决缺少.sty文件的问题和引用显示不出来的问题
- IBM ServerGuide 8.42
- 最好的网盘--主流网盘大比拼
- 【工业互联网】工业发展的痛点体现在哪里?如何整合边缘计算与云计算的优势来成就工业智能?
- Exchange 2010升级到Exchange 2016汇总
- 手机号归属地区编码_科普:身份证和手机号背后的秘密
- 利用计算机发布调度命令时必须严格遵守,调度命令规范格式(22页)-原创力文档...
- 计算机打印错误,打印机错误正在打印处理方法,教您电脑打印机错误正在打印处理方法...