二十四点
Posted pw126046
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了二十四点相关的知识,希望对你有一定的参考价值。
本来想用后缀表达式,但是感觉代码太长了,算式也不复杂就懒得写,就模拟了下 过程,思路很简单,算两趟,第一次算乘除,第二次算加减
import java.util.LinkedList; import java.util.Scanner; /** * @Auther: Pengwen * @Date: 2019/12/8 21:29 * @Description: */ public class Main { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); int n = scanner.nextInt(); LinkedList<Character> op = new LinkedList<>(); LinkedList<Integer> number = new LinkedList<>(); String str; while (n-- != 0) { char[] chars = scanner.next().toCharArray(); for (int i = 0; i < chars.length; i++) { switch (chars[i]) { case ‘x‘: { number.add(number.removeLast() * (chars[i + 1] - ‘0‘)); i++; break; } case ‘/‘: { number.add(number.removeLast() / (chars[i + 1] - ‘0‘)); i++; break; } case ‘+‘: { op.add(chars[i]); break; } case ‘-‘: { op.add(chars[i]); break; } default: { number.add(chars[i] - ‘0‘); } } } for (Character aChar : op) { if (aChar == ‘+‘) { number.addFirst(number.removeFirst() + number.removeFirst()); } else { number.addFirst(number.removeFirst() - number.removeFirst()); } } if(number.getFirst()==24) System.out.println("Yes"); else System.out.println("No"); number.clear(); op.clear(); } } }
以上是关于二十四点的主要内容,如果未能解决你的问题,请参考以下文章