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

                }
            }
        }
    }
}
原文地址:https://www.cnblogs.com/xiaoyh/p/15226881.html