首页 > 其他 > 详细

二十四点

时间:2019-12-09 01:29:20      阅读:118      评论:0      收藏:0      [点我收藏+]

技术分享图片

 

本来想用后缀表达式,但是感觉代码太长了,算式也不复杂就懒得写,就模拟了下 过程,思路很简单,算两趟,第一次算乘除,第二次算加减

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();
        }
    }
}

 

 

二十四点

原文:https://www.cnblogs.com/pw126046/p/12008604.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!