zoukankan      html  css  js  c++  java
  • Java

    题目:

    现在有一个容器,里面有n个物品,编号为1-n,现在小q可以进行一些操作,每次取出任意两个数,可以把这两个数的编号相加,相减,相乘,再把结果放回容器。问最后小q能否在n-1次操作后使得容器里的唯一一个物品的编号为24?

    输入:

    一个n (1 ≤ n ≤ 105).

    输出:

    如果小q不能,就输出一个"NO",否者输出一个"YES",并给出小q操作的方案。(若有多种操作方案,给出其中一种即可)

    样例:

    1
    NO
     
    4
    YES
    2 * 4 = 8
    3 * 8 = 24
    1 * 24 = 24
     
    8
    YES
    8 * 7 = 56
    6 * 5 = 30
    3 - 4 = -1
    1 - 2 = -1
    30 - -1 = 31
    56 - 31 = 25
    25 + -1 = 24

    代码:

    import java.util.Arrays;
    import java.util.Scanner;
    public class A24game {
        public static void main(String[] args) {
            Scanner scanner = new Scanner(System.in);
            int n = scanner.nextInt();
            if (n<=3) {
                System.out.println("NO");
            }else {
                System.out.println("YES");
                if(n%2==0){
                    if(n>=4){
                        if (n==4) {
                            System.out.println("2 * 4 = 8");
                            System.out.println("3 * 8 = 24");
                            System.out.println("1 * 24 = 24");
                        }
                        while(n!=4){
                            System.out.println(n+" - "+(n-1)+" = "+1);
                            if(n==6){
                                System.out.println("2 * 4 = 8");
                                System.out.println("3 * 8 = 24");
                                System.out.println("1 * 24 = 24");
                                System.out.println(1+" * "+24+" = "+24);
                            }else {
                                System.out.println(1+" * "+1+" = "+1);
                            }
                            
                            n = n-2;
                        }
    
    
                    }
                }else {
                    if(n>=5){
                        if (n==5) {
                            System.out.println("1 + 5 = 6");
                            System.out.println("3 - 2 = 1");
                            System.out.println("1 * 4 = 4");
                            System.out.println("4 * 6 = 24");
                        }
                        while(n!=5){
                            System.out.println(n+" - "+(n-1)+" = "+1);
                            if(n==7){
                                System.out.println("1 + 5 = 6");
                                System.out.println("3 - 2 = 1");
                                System.out.println("1 * 4 = 4");
                                System.out.println("4 * 6 = 24");
                                System.out.println(1+" * "+24+" = "+24);
                            }else {
                                System.out.println(1+" * "+1+" = "+1);
                            }
                            n = n-2;
                        }
    
                    }
                }
            }
        }
    }
  • 相关阅读:
    约束布局ConstraintLayout看这一篇就够了
    1-9 最长连续递增子序列 (20 分)
    1-8 数组循环左移 (20 分)
    1-6 求链式线性表的倒数第K项 (20 分)
    CMD命令集(转自脚本之家)
    网卡、网关
    PHP Callable强制指定回调类型的方法
    PHP常用魔术方法(__invoke魔术方法)
    php 通过 yield 实现协程有什么使用场景
    PHP的yield是个什么玩意
  • 原文地址:https://www.cnblogs.com/xiaoyh/p/15226881.html
Copyright © 2011-2022 走看看