zoukankan      html  css  js  c++  java
  • java实现取球游戏

    /*
    今盒子里有 n 个小球,A、B 两人轮流从盒中取球,每个人都可以看到另一个人取了多少个,
    也可以看到盒中还剩下多少个,并且两人都很聪明,不会做出错误的判断。
    我们约定:
    每个人从盒子中取出的球的数目必须是:1,3,7 或者 8 个。
    轮到某一方取球时不能弃权!
    A 先取球,然后双方交替取球,直到取完。
    被迫拿到最后一个球的一方为负方(输方)
    请编程确定出在双方都不判断失误的情况下,对于特定的初始球数,A 是否能赢?
    程序运行时,从标准输入获得数据,其格式如下:
    先是一个整数 n(n<100),表示接下来有 n 个整数。然后是 n 个整数,每个占一行(整数<10000),表示初始球数。
    程序则输出 n 行,表示 A 的输赢情况(输为 0,赢为 1)。
    例如,用户输入:
    4
    1
    2
    10
    18
    则程序应该输出:
    0
    1
    1
    0
    */
    package Question10_19;
    import java.util.Scanner;
    public class Question18Think2MustRemember {
    public static boolean array[]=new boolean[10020];
    38
    public static void main(String[] args) {
    array[0]=true;
    for (int i = 1; i < array.length; i++) {
    array[i]=(i>=8&&!array[i-8])||(i>=7&&!array[i-7])||(i>=3&&!array[i-3])||(i>=1&&!array[i-1]);
    }
    Scanner scanner=new Scanner(System.in);
    int n=scanner.nextInt();
    int total;
    scanner.nextLine();
    while ((n--)>0) {
    total=scanner.nextInt();
    System.out.println(array[total]?1:0);
    }
    }
    }
    
    

    运行结果:
    4
    1
    2
    10
    18
    输出结果:
    0
    1
    1
    0

  • 相关阅读:
    mybatis 枚举的支持
    windows系统下Disconf web安装-分布式配置管理平台
    Tomcat启动报Error listenerStart错误
    Java并发编程:volatile关键字解析
    深入理解java异常处理机制
    Java 常见异常种类
    Java RMI与RPC的区别
    Java的快速失败和安全失败
    mysql数据类型介绍(含text,longtext,mediumtext说明)
    DTO – 服务实现中的核心数据
  • 原文地址:https://www.cnblogs.com/a1439775520/p/13076892.html
Copyright © 2011-2022 走看看