// 代码
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 人评分
2005年春浙江省计算机等级考试二级C 编程题(3),复杂度最低的方法没有之一!!!!!浏览:856 |
C语言训练-立方和不等式 (C语言代码)浏览:779 |
WU-拆分位数 (C++代码)浏览:819 |
C语言程序设计教程(第三版)课后习题9.4 (C语言代码)浏览:699 |
Tom数 (C语言代码)浏览:517 |
C语言程序设计教程(第三版)课后习题6.10 (C语言代码)浏览:536 |
矩阵的对角线之和 (C语言代码)浏览:1401 |
数列有序 (C语言代码)浏览:974 |
C二级辅导-阶乘数列 (C语言代码)浏览:671 |
C语言程序设计教程(第三版)课后习题11.1 (C++代码)浏览:709 |