ECNU 3151 循环打印

ECNU 3151 循环打印

链接

https://acm.ecnu.edu.cn/problem/3151

题目

单点时限: 2.0 sec

内存限制: 256 MB

以正整数 , 和 作为输入,其中 , 且 。假定数 是环形排列的,编写一个程序,从数 开始,按顺时针方向以 为步长打印数,在打印某个数时,应以从环中删除该数,这样的过程一直进行到环空为止。例如,当 ,, 时,我们得到的输出序列是 3,6,9,2,7,1,8,5,10,4。

输入格式
第一行三个整数:, , 以空格分开。

输出格式
一行 个数,以空格分开。

样例
input
10 1 3
output
3 6 9 2 7 1 8 5 10 4
提示
数字间以空格分开,最后一个数字后面没有空格。

思路

这边偷了懒,直接用ArrayList,注意检测数组剩余长度。

代码

public static void fun() {
    Scanner sc = new Scanner(System.in);
    int n = sc.nextInt();
    int i = sc.nextInt();
    int k = sc.nextInt();
    ArrayList<Integer> list = new ArrayList<>();
    for (int t = 0; t < n; t++) {
      list.add(t + 1);
    }
    int s = i;
    while (!list.isEmpty()) {
      s = s + k - 1;
      while (s > list.size()) {
        s = s - list.size();
      }
      int g = list.get(s - 1);

      list.remove(s - 1);
      System.out.print(g + " ");
    }
  }
posted @   cheng102e  阅读(111)  评论(0编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
历史上的今天:
2020-02-01 LeetCode 1051. Height Checker
点击右上角即可分享
微信分享提示