首页 > 试题广场 >

围圈报数

[编程题]围圈报数
  • 热度指数:6596 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32M,其他语言64M
  • 算法知识视频讲解
N 个人围成一圈顺序编号,从1 号开始按1、2、3 顺序报数,报3 者退出圈外,其余的人再从1、2、3 开始报数,报3 的人再退出圈外,依次类推。请按退出顺序输出每个退出人的原序号。要求使用环行链表编程。

输入描述:
输入第一行为整数m表示有m组测试数据,接下来m行每行一个整数N,N不超过50。


输出描述:
输出m行,每行表示题目所求,用空格隔开。
示例1

输入

1
4

输出

3 2 4 1
头像 在考古的小鱼干很有气魄
发表于 2023-03-12 11:57:47
#include <iostream> #include <list> using namespace std; int main(){ int m,n,tmp; cin>>m; while(m--){ list<int> l; 展开全文
头像 wbc990512
发表于 2021-01-26 19:39:14
循环链表 #include<stdio.h> #include <stdlib.h> int N; typedef struct Node{ int id; struct Node * next; }People; People *init() { P 展开全文
头像 philos
发表于 2021-03-22 16:50:13
构建一个循环链表,然后不断计数就好了,但是要注意,因为是循环链表,删除到只剩最后一个结点的时候就可以停止计数了,因为他肯定是最后一个出圈的。记得这道题是大一学到链表的时候做的题目。 #include<iostream> using namespace std; struct List 展开全文
头像 KDDA十三尧十三
发表于 2022-02-07 17:32:41
#include<iostream> using namespace std; typedef struct Node {     int data;     Node * next;     Node(int x)   展开全文
头像 CyberAoao
发表于 2023-03-26 15:52:46
#include<bits/stdc++.h> using namespace std; // N 个人围成一圈顺序编号,从1 号开始按1、2、3 顺序报数,报3者退出圈外,其余的人再从1、2、3 开始报数,报3 的人再退出圈外,依次类推。 // 请按退出顺序输出每个退出人的原序号。要求 展开全文
头像 SStarry
发表于 2023-09-05 15:23:48
#include <iostream> #include <queue> using namespace std; int m, n; int main() { while(cin >> m) { while(m--) 展开全文
头像 牛客262571775号
发表于 2024-02-04 23:50:21
#include <iostream> const int N=55; using namespace std; int ne[N]; int m; int main() { cin>>m; while(m--) { int n; 展开全文
头像 marlin818
发表于 2024-03-12 20:26:43
#include <iostream> #include <queue> using namespace std; queue<int> q; int main(){ int m; cin >> m; while(m--){ 展开全文
头像 牛客475334106号
发表于 2024-03-07 12:41:20
#include <cstdlib> #include <cstdio> typedef struct Node { int num; struct Node* next; } LNode, *LinkList; void List_Create(Link 展开全文
头像 牛客568792594号
发表于 2024-03-10 17:20:46
#include <bits/stdc++.h> using namespace std; int main(){ int n, m; cin >> m; while (m --){ cin >> n; queue<int& 展开全文