- 8
- 0
- 约1.63万字
- 约 5页
- 2017-08-15 发布于湖北
- 举报
逢N退出的图形化算法设计.pdf
第 24卷第 5期 四川文理学院学报 2014年 9月
VoI_24 No.5 SichuanUniversityofArtsandScienceJournal Sep.2014
逢 N退出的图形化算法设计
卫洪春 ,蒲国林 ,王安志
(四川文理学院 计算机学院,四川 达州 635000)
摘 要:以”循环报数、逢N退出”问题求解过程的可视化演示为 目的,采用C十+面向对象思想,利用单向
循环链表的相关理论和MFC集成环境等技术,设计数据类,结点类及链表类,将问题的求解过程以图形化的方
式展现 ,获得 了以直观方式观察求解过程的结果.
关键词:逢N退出;数组;结点;链表;图形;c十+
中图分类号:TP301.6 文献标志码:A 文章编号:1674—5248(2014)05--0056—05
中以数组方式实现的代码如下:
1 提出问题
#include iostream
问题描述 :有 n个人 围成一圈,从编号 1开始 #defineNUM 13 //总人数
顺序排号,一直到n.从第 1个人开始,顺次以1, usingnamespacestd;
2,….N循环报数 (从 1到 N报数),凡报到数字 voidmain(){ intnum — NUM ,flag一 1,
N的人退 出圈子,问最后 留下的人 的编号是多 numArray[NUM+1];
少?[如图 1所示. for(inti一 0 ;i NUM + 1;i+ + )nu—
mArray~i]: i;//初始化一维数组的元素
田田 口团 while(num !一 1){ //若当前状态下剩余
的人数 num大于 1.
固 曰 for(i— l;i NUM+ 1;i++){
if(numArray-[i~!一0){//若数组的第 i个
曰 口 元素不为零
if(flag一一3){flag=0;numArray[i]=0;
回固 口 口口 num 一 一 ;f
flag++ ;}} }
for(i===1;i NUM+ 1;i++ )
图 l 初 始状 态 if(numArray[i]!一0)cout”最后剩下
2 求解方式 的人的编号是:”numArray[i]”\n\n”;
该问题是一个古老而经典的游戏,会在很多 求解结果:最后剩下的人的编号是:13
场合用到.在计算机环境下,也可以有很多处理办 上述算法是利用 C++的一维数组实现.由
法,如数组,单 向循环链表等.例如在 C++环境 于是n个人围成一圈,可利用单 向链表来完成.但
收稿 日期 :2013一l2一l8
您可能关注的文档
最近下载
- 海绵城市监理实施细则范本·仅供参考.doc VIP
- 七年级数学下册-相交线与平行线测试题(同名10636).doc VIP
- 《跨学科主题学习设计与实施》全套教学课件.pptx
- 建设工程项目管理全套课件.pptx
- 数控多轴加工编程与仿真全套教学课件.pptx
- 2018助理班主任工作总结3篇-2018助理班主任工作总结3篇-2018助理班主任工作总结3篇-.doc VIP
- 《水工程施工》课程大纲.pdf VIP
- 市政管线项目划分.doc VIP
- 2026年春季开学第一课 课件:策马新学期,筑梦向远方-2025-2026学年下学期优质主题班会(全国通用).pptx
- 初高中英语必背4000个词汇表.pdf
原创力文档

文档评论(0)