第九周项目1-猴子选大王数组版
2015-11-02 16:21
246 查看
/* Copyright (c)2015,烟台大学计算机与控制工程学院 All rights reserved. 文件名称:houzishuzu.cpp 作 者:李涵睿 完成日期:2015年11月2日 版 本 号:v1.0 问题描述: 一群猴子,编号是1,2,3 …m,这群猴子(m个)按照1-m的顺序围坐一圈。 从第1只开始数,每数到第n个,该猴子就要离开此圈,这样依次下来,最后一只出圈的猴子为大王。 输入m和n,输出猴子离开圈子的顺序,从中也可以看出最后为大王是几号猴子。 要求采用数组作为存储结构完成。 输入描述:猴子的个数与出队的序号。 程序输出:出队顺序。 */ #include <stdio.h> #define MaxSize 8 void king(int m,int n)//m猴子的数量,n是出列的数。 { int mon[MaxSize]; int i=0,j=0,t=-1; while(i<m) { mon[i]=1; i++; } i=0; while(i<m) { while(j<n) { t=(t+1)%m; if(mon[t]==1) j++; } mon[t]=0; printf("%d ",t+1); i++; j=0; } } int main() { int m,n; printf("请输入猴子的个数及出列的序号。"); scanf("%d %d", &m, &n); king(m,n); return 0; }
运行结果:
知识点总结&学习心得:
约瑟夫问题经典算法,大一的时候没弄懂的问题,再次好好理解了。
相关文章推荐
- C++基础——类模板
- Android 事件分发机制完全解析(续)
- java进阶(一)------java编程规范---命名约定
- 第10周项目1——二叉树算法库
- java进阶(一)------java编程规范---命名约定
- OpenJudge13 Sticks
- CoreData
- 怎样理解阻塞非阻塞与同步异步的区别?
- 第十周实践项目1—二叉树算法库
- 第十周项目1-“知原理”检验题目
- 第9周项目3-稀疏矩阵的三元组表示的实现及应用(1)
- 稀疏矩阵的三元组表示的实现及应用(一)
- 伸展树(Splay tree)图解与实现
- UITableView重要点整理
- ios-kvc\kvo 原理
- 第9周项目2-对称矩阵压缩存储的实现与应用(2)
- Student Information System
- 8.4 在状态报告上使用计时器
- [11]Container With Most Water
- 第10周实践项目1-二叉树算法库