// 代码

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分

0 人评分

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

评论列表 共有 0 条评论

暂无评论