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 + " ");
}
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 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