第九章第六题 13个人围成一圈,从第一个人开始顺序报号1 2 3 凡报到3者退出圈子。找出最后留在圈子中的人原来的序号 要求用链表处理

本篇博客探讨了一道有趣的数学问题,13个人围成一圈按顺序报数,每报到3的人退出,直至最后剩下一人。文章通过链表数据结构来解决这个问题,详细解析了算法过程。
摘要由CSDN通过智能技术生成
/*
第九章第六题
13个人围成一圈,从第一个人开始顺序报号1 2 3 
凡报到3者退出圈子。找出最后留在圈子中的人原来的序号
要求用链表处理 

给一个单链表的结点
节点:
	序号
	下一个人的位置  next
	
构成一个环状链表
进行一个循环的计数

开始报数:循环(退出的人达到12,结束循环) 
	1、如果已经退出圈子:直接跳过
	2、报数到3:把这个人序号设置为0
	3、报数大于3的时候,值为1
遍历链表,找到不为0的 
*/

#include<stdio.h>
#define n 6

//定义节点
typedef struct people
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

向上Claire

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值