博客
关于我
PTA 7-2 约瑟夫环 (25 分)
阅读量:756 次
发布时间:2019-03-22

本文共 1127 字,大约阅读时间需要 3 分钟。

N个人围成一圈顺序编号,从1号开始按1、2、3......顺序报数,报p者退出圈外,其余的人再从1、2、3开始报数,报p的人再退出圈外,以此类推。 请按退出顺序输出每个退出人的原序号。

输入格式:

输入只有一行,包括一个整数N(1<=N<=3000)及一个整数p(1<=p<=5000)。

输出格式:

按退出顺序输出每个退出人的原序号,数据间以一个空格分隔,但行尾无空格。

输入样例:

在这里给出一组输入。例如:

7 3

输出样例:

3 6 2 7 5 1 4
#include 
#include
using namespace std;typedef struct Node{ int data; Node *next;}LinkListNode;LinkListNode* Createlist(int n){ LinkListNode *head,*p,*q; head = (LinkListNode*)malloc(sizeof(LinkListNode)); p = (LinkListNode*)malloc(sizeof(LinkListNode)); head->data = 1; head->next = NULL; p = head; for(int i = 2;i <= n;i++) { q = (LinkListNode*)malloc(sizeof(LinkListNode)); q->data = i; p->next = q; p = q; } p->next = head; return head;}int main(){ int N,p; cin >> N >> p; int ret[N]; int i = 0; LinkListNode *head,*ptr,*q; head = Createlist(N); ptr = head; while(i
< (p-1);j++) { ptr = ptr->next; } q = ptr->next; ret[i] = q->data; ptr->next = q->next; free(q); ptr = ptr->next; i++; } for(int j = 0;j

 

转载地址:http://qkbwk.baihongyu.com/

你可能感兴趣的文章
mysql日志 事务问题_mysql因为事务日志问题无法启动
查看>>
mysql日志文件
查看>>
mysql日志管理学习笔记
查看>>
mysql日志问题定位实用命令
查看>>
MySQL日期时间函数大全
查看>>
mysql时间相减的问题
查看>>
mysql时间表示和计算
查看>>
MySQL是如何做容器测试的?
查看>>
mysql更改数据库表utf-8_修改mysql数据库为 utf-8
查看>>
mysql更改表引擎INNODB为MyISAM的方法总结
查看>>
mysql更新一个表里的字段等于另一个表某字段的值
查看>>
Mysql更新时间列只改日期为指定日期不更改时间
查看>>
MySQL更新锁(for update)摘要
查看>>
mysql更新频率_MySQL优化之如何了解SQL的执行频率
查看>>
mysql替换表的字段里面内容
查看>>
MySQL最多能有多少连接
查看>>
MySQL最大建议行数 2000w,靠谱吗?
查看>>
MySQL有哪些锁
查看>>
MySQL服务器安装(Linux)
查看>>
mysql服务器查询慢原因分析方法
查看>>