// 代码
import java.util.Scanner;
public class T1047 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int i = scanner.nextInt(); // 输入人数
boolean[] b = new boolean[i]; // 创建每一个人是否出局,false:没有出局,true:出局
int k = 0; // 报数 1 2 3 1 2 3 1 2 3
int m = 0; // 统计出局人数
for (int j = 0; m != i - 1; j++) { // m != i - 1 判断是否只剩下最后一个人
if (!b[j % i]) { // !b[j % 1] 只从没出局的人中查询
k++; // 报数+1
if (k == 3) { // 判断是否出局
k = 0; // 重置
m++; // 统计数+1
b[j % i] = true; // 出局
}
}
}
for (int j = 0; j < b.length; j++) { // 遍历出哪一个出局
if (!b[j]) {
System.out.println(j + 1); // j + 1,因为是从1开始计算的
return;
}
}
}
}
0.0分
0 人评分
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程
发表评论 取消回复