C语言约瑟夫问题(小白首次学习链表解法)(交作业中的biter)
约瑟夫问题
参考网页
https://blog.csdn.net/cprimesplus/article/details/82588179
已知n个人(不妨分别以编号1,2,3,…,n 代表 )围坐在一张圆桌周围,从编号为 k 的人开始,从1开始顺时针报数1, 2, 3, …,顺时针数到m 的那个人,出列并输出。然后从出列的下一个人开始,从1开始继续顺时针报数,数到m的那个人,出列并输出,…依此重复下去,直到圆桌周围的人全部出列。
输入:n, k, m
输出:按照出列的顺序依次输出出列人的编号。
#include<stdio.h>
#include<stdlib.h>
typedef struct node{
int num;
struct node * next;
}Node;
Node *head,*pnew,*pend,*p;int main(){ //freopen("in.txt","r",stdin);freopen("out.txt","w",stdout); int n,k,m; scanf("%d,%d,%d",&n,&k,&m);int count=1; head= NULL; while(count<=n){ pnew=(struct node *)malloc(sizeof(struct node));pnew->num=count++;//number add pnew->next=NULL;if(head==NULL){ head=pnew;//head =pnew=pend pend=head;}else{ pend->next=pnew;//new link to back of endpend=pnew;//move to back } } pnew->next=head;//tail to headp=pnew; while(1) { if(p->next->num==k)break; else p=p->next;//search no.k child } while (n>1) {for(int i=0;i<m-1;i++){ p=p->next;//speak number } printf("%d ",p->next->num);p->next=p->next->next;//skip outer n--; } printf("%d\n",p->num);}
输入:9,3,2
输出:4 6 8 1 3 7 2 9 5
C语言约瑟夫问题(小白首次学习链表解法)(交作业中的biter)相关推荐
- 如何用html语言浏览 路径,小白编程系列(二):前端学习路径
前言 上一篇我们简单的说了一下小白应该如何认识编程这件事,怎么选择编程语言.这一篇我们来说我们选择好了编程语言后,如何学习这门编程语言,它的学习路径应该是怎么样的.这个得分开讲,每一门编程语言的学习路 ...
- Python是一门杰出的语言,值得你去学习
为什么要将Python作为第一门语言来学习呢,理由有很多,就像<Python编程:从入门到实践>中说的. Python是一种效率极高的语言:相比于众多其他的语言,使用Python编写时,程 ...
- c语言将一个已知头结点的单链表逆序_C语言实现常用数据结构:静态链表数组实现(第5篇)...
「今天是学习C语言第 148 天」 纸上学来终觉浅,绝知此事要躬行.-- 陆游「冬夜读书示子聿」 # 静态链表 使用数组实现,利用数组下标代替指针,从而实现数据结点之间的先后关系.实现要点: 1.数组 ...
- 教授先生带你学习链表:双向链表3
本篇博客是在上一篇博客的基础上扩展的,希望读者在阅读完以下这个链接内容后再看这一篇 (9条消息) 教授先生带你学习链表:链表节点的删除与增添2_教授先生的博客-CSDN博客 题目描述: 输入10个整数 ...
- 教授先生带你学习链表:链表节点的删除与增添2
本篇博客是在上一篇博客的基础上扩展的,希望读者在阅读完以下这个链接内容后再看这一篇 (9条消息) 教授先生带你学习链表:初识链表1_教授先生的博客-CSDN博客 描述: 给一串数字,用链表结构进行存储 ...
- python语言通俗理解_慢步学习,python语言编程,来扯扯语言的学习理解
最近慢步工作比较忙,有那么一丢丢挫伤了学习的积极性.积极性受挫的另一个原因是,慢步对自己给读者提供的内容有些困惑,"我能提供什么有价值的内容?" 不断重复书籍的知识点,好像并不能生 ...
- 初学python的体会心得-分享给入门Python小白的学习心得
原标题:分享给入门Python小白的学习心得 Python诞生于1989年,第一个公开版本于1991年问世.作为一门历史悠久的语言,Python具有代码简短.可读性强等先天优势.Python是一个很全 ...
- 前端小白如何学习 CSS
很多人想让我给他们推荐有关CSS部分的教程,或者问我如何学习CSS. 我也看到很多人对CSS的部分内容感到困惑,一部分原因是由于对语言的过时认识. 鉴于CSS在过去几年中发生了相当大的变化,这是一个更 ...
- 小白的学习之路--IDEA安装及使用
小白的学习之路--IDEA安装及使用 IDEA概述和安装 IDEA中的HelloWorld IDEA启动的基本配置 IDEA中创建HelloWorld ①创建一个空项目 ②创建一个新模块(idea_t ...
最新文章
- kettle spoon中“表输入”到“表输出”的乱码问题
- chart.js 饼图显示百分比_Python怎么画饼图?Matplotlib数据可视化004:饼图
- JS----click3种方法
- Caffe-windows入门学习,编译、训练、测试详细教程
- JMeter 正则表达式提取器(二)
- www.opensymphony.com - Class: java.net.PlainSocketImpl
- Spring事务源码分析
- 前端学习(41):背景实现视觉差效果
- 串口通讯基础及S3C2410 UART控制器
- “猫癣”集团借IE7新漏洞再掀风浪
- Laravel 超好用代码提示工具 Laravel IDE Helper
- 如何设置Server-U的IP限制
- [转载] python随笔2(列表的增删改查)
- API文档自动生成,Swagger的配置
- java.util.stream.DoubleStream
- vim配置运行python3快捷键_Linux VIM8 Python3 编辑器配置文件
- MySQL高级进阶(三)、InnoDB存储引擎详解
- 前端-回到顶部效果总结
- AEJoy —— 表达式之模拟超越与反弹(五)【JS】
- C语言求17以后的5个质数,C语言求质数的算法