博客
关于我
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中怎样使用case-when实现判断查询结果返回
查看>>
Mysql中怎样使用update更新某列的数据减去指定值
查看>>
Mysql中怎样设置指定ip远程访问连接
查看>>
mysql中数据表的基本操作很难嘛,由这个实验来带你从头走一遍
查看>>
Mysql中文乱码问题完美解决方案
查看>>
mysql中的 +号 和 CONCAT(str1,str2,...)
查看>>
Mysql中的 IFNULL 函数的详解
查看>>
mysql中的collate关键字是什么意思?
查看>>
MySql中的concat()相关函数
查看>>
mysql中的concat函数,concat_ws函数,concat_group函数之间的区别
查看>>
MySQL中的count函数
查看>>
MySQL中的DB、DBMS、SQL
查看>>
MySQL中的DECIMAL类型:MYSQL_TYPE_DECIMAL与MYSQL_TYPE_NEWDECIMAL详解
查看>>
MySQL中的GROUP_CONCAT()函数详解与实战应用
查看>>
MySQL中的IO问题分析与优化
查看>>
MySQL中的ON DUPLICATE KEY UPDATE详解与应用
查看>>
mysql中的rbs,SharePoint RBS:即使启用了RBS,内容数据库也在不断增长
查看>>
mysql中的undo log、redo log 、binlog大致概要
查看>>