Bootstrap

CCF-CSP 201712-2游戏

import java.util.Scanner;
public class Main {
	public static int FuyiNum(int[] arr) {
		int ans=0;
		for(int i=0;i<arr.length;i++) {
			if(arr[i]==-1) ans++;
		}
		return ans;
	}
	public static boolean IsExist(int a,int k) {
		//首先看是不是倍数
		if(a % k ==0) return true;
		//再看是不是末位数
		while(a>10) {
			a = a % 10;
		}
		if(a==k) return true;
		return false;
	}
	public static void main(String[] args) {
		Scanner s = new Scanner(System.in);
		int n = s.nextInt();
		int k = s.nextInt();
		//创建数组
		int[] arr = new int[n];
		for(int i=1;i<=n;i++) {
			arr[i-1]=i;
		}
		//报的数
		int count =0;
		//判断数组里有几个-1 当有n-1个-1时 跳出循环
		while(FuyiNum(arr)!=arr.length-1) {
			//开始报数
			for(int i=0;i<n;i++) {
				if(arr[i]!=-1) {
					count++;
					//判断k是否为该数的倍数或者末位数
					if(IsExist(count,k)) arr[i]=-1;
					if(FuyiNum(arr)==arr.length-1) break;
				}
			}
		}
		//找出数组里唯一不等于-1的数,打印
		for(int i=0;i<n;i++) {
			if(arr[i]!=-1) System.out.print(arr[i]);
		}
	}
}
;