网站 内容,网站原型设计,站点建立网站的方法,wordpress微信营销题目描述 N个人坐成一个圆环#xff08;编号为1 - N#xff09;#xff0c;从第S个人开始报数#xff0c;数到K的人出列#xff0c;后面的人重新从1开始报数。问最后剩下的人的编号。
例如#xff1a;N 3#xff0c;K 2#xff0c;S 1。2号先出列#xff0c;然后是…题目描述 N个人坐成一个圆环编号为1 - N从第S个人开始报数数到K的人出列后面的人重新从1开始报数。问最后剩下的人的编号。
例如N 3K 2S 1。2号先出列然后是1号最后剩下的是3号。
测试数据有多组
每组包括3个数N、K、S表示有N个人从编号为S的人开始数到K出列。
输入 测试数据有多组
每组包括3个数N、K、S表示有N个人从第S个人开始数到K出列。(2 N 10^310^3 K 10^9, 1 S N)
输出 出列的人的编号
输入样例1
13 3 1 3 2 1
输出样例1
3 6 9 12 2 7 11 4 10 5 1 8 13 2 1 3
AC代码
#include iostream
using namespace std;
class node
{
public:int data;node* next;node():data(0),next(nullptr){}
};class linklist
{int len;node* head;
public:linklist(){headnew node;head-data1;head-nexthead;}void create(int n){node* tailhead;for(int i2;in;i){node* pnew node;p-datai;tail-nextp;p-nexthead;tailp;}tail-nexthead;lenn;}void print(int k,int s){node* phead;for(int i1;is;i){pp-next;}while(len){int k1k;k1k1%lenlen;for(int i1;ik1-1;i){pp-next;}node* qp-next;coutq-data ;p-nextq-next;delete q;pp-next;len--;}coutendl;}};
int main()
{int n,k,s;while(cinnks){linklist L;L.create(n);L.print(k,s);}return 0;
}