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

  • 相关阅读:
    操作系统第一章绪论
    JavaScript推断E-mail地址是否合法
    projecteuler----&gt;problem=8----Largest product in a series
    QQ聊天原理初识
    窗体和线程漫谈之工作线程怎样将数据的处理结果显示到窗体
    Swift
    iOS-UIApplication详解
    iOS开发拓展篇——如何把项目托管到GitHub
    Swift
    Swift
  • 原文地址:https://www.cnblogs.com/a1439775520/p/13076891.html
Copyright © 2011-2022 走看看