博客
关于我
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插入数据从指定选项中随机选择、插入时间从指定范围随机生成、Navicat使用存储过程模拟插入测试数据
查看>>
MYSQL搜索引擎
查看>>
mysql操作数据表的命令_MySQL数据表操作命令
查看>>
mysql操作日志记录查询_如何使用SpringBoot AOP 记录操作日志、异常日志?
查看>>
MySQL支持的事务隔离级别,以及悲观锁和乐观锁的原理和应用场景?
查看>>
mysql支持表情
查看>>
MySQL支撑百万级流量高并发的网站部署详解
查看>>
MySQL改动rootpassword的多种方法
查看>>
mysql数据分组索引_MYSQL之索引配置方法分类
查看>>
mysql数据取差,mysql屏蔽主外键关联关系
查看>>
MySQL数据和Redis缓存一致性方案详解
查看>>
MySQL数据和Redis缓存一致性方案详解
查看>>
Mysql数据库 InnoDB存储引擎中Master Thread的执行流程
查看>>
MySQL数据库 范式
查看>>
Mysql数据库B-Tree索引
查看>>
mysql数据库io空闲_mysql数据库磁盘io高的排查
查看>>
mysql数据库root密码忘记,查看或修改的解决方法
查看>>
MySQL数据库SQL注入靶场sqli通关实战(附靶场安装包)
查看>>
MYSQL数据库下载安装(Windows版本)
查看>>
MySQL数据库与Informix:能否创建同名表?
查看>>