直接代码。
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
int n = scan.nextInt(); // n个小朋友
int k = scan.nextInt(); // 敏感数字k
int[] children = new int[n]; // 初始化小朋友数组
for (int i=0;i<n;i++){
children[i] = i+1;
}
int count = 0; // 初始化报数
int flag = 0; // 初始化淘汰个数
for (int i=0;i<n;i++){
if (children[i]!=0){ // 没有被淘汰
count += 1;
if (count%k==0 || count%10==k){ // 报数是k的倍数或个位数是k
children[i] = 0; // 淘汰小朋友
flag += 1; // 每淘汰一个,加1
}
}
if (i==n-1){ // 到达数组末尾,从头开始
i = -1;
}
if (flag == n-1){
break;
}
}
for (int i=0;i<n;i++){
if (children[i] != 0){
System.out.println(children[i]);
}
}
}
}