播布客教学视频_C学习笔记_10.1_约瑟夫环问题
来源:互联网 发布:2017淘宝电商品牌排行 编辑:程序博客网 时间:2024/05/16 05:00
/* * *播布客教学视频_C学习笔记_10.1_约瑟夫环问题 * author: syt<sytshanli@163.com> *create date: 2014.11.29 * *1.n个人,分别编号,围城一个环,分别报数, *报数过程中报到m则离开,接下来继续从头开始 *使用特殊到一般的方法(n = 6,m = 3,纸张上分析) *2.使用函数实现各个部分(某个操作总是重复进行) *3.使用循环解决问题,不确定次数(使用while) *4.定义一个变量的时候,什么时候变量会改变呢?? *5.进行一个打印调试过程 * * * */ #include<stdio.h>#define ALL 6//all people in the ring#define out 3//if counter to 3,than out/* global array for all people in the ring */int people[ALL];/*init ring*/void init_ring(void){int i = 0;for(i = 0;i < ALL;i++)people[i] = i +1;}/*print ring*/void print_ring(void){int i = 0;for(i = 0;i < ALL;i++)printf("%d ",people[i]);printf("\n");}int main(void){int left; //环中有多少人int counter;int i =0;printf("demo josphus ring problem\n");init_ring( );print_ring( );left = ALL;//left = all peoplecounter = 0;//counter = 1,2,3i = 0;//代表从0开始while(1){/*if(????)*/if(people[i] > 0)//如果这个人没走,那么就要计数,一旦出局了,那么赋值0counter++;//报数的加法操作(条件呢??)/*if(????)一定是有人离开了才会有left减少,什么情况下会有人离开呢,*/if(counter == out)//那就是报到m{left--; //什么情况下会少人呢printf("%d is out\n",people[i]);//谁出局了print_ring( );//每次有人出局就打印环people[i] = 0;//出局后位置为0counter = 0;//必须重新计数(bug)}/*//调试信息printf("i = %d ,counter = %d ,left = %d\n",i,counter,left);print_ring( );*/if(left < 1)//什么情况下会推出呢?break;i++;//可能数组越界if(i == ALL)i = 0;//getchar( );//每次回车后才继续}printf("问题解决了!");/*//init ringfor(i = 0;i < ALL;i++)people[i] = i +1;//print ringfor(i = 0;i < ALL;i++)printf("%d ",people[i]);printf("\n");*/return 0;}
0 0
- 播布客教学视频_C学习笔记_10.1_约瑟夫环问题
- 播布客教学视频_C学习笔记_10.2_约瑟夫环问题(数组链表)
- 播布客教学视频_C学习笔记_9.1_整形转字符串
- 播布客教学视频_C学习笔记_8.1_统计1到100中9的个数(分治)
- 播布客教学视频_C学习笔记_8.2_统计1到100中9的个数(函数)
- 播布客教学视频_C学习笔记_9.2_整形转字符串(函数实现)
- 播布客教学视频_C学习笔记_3_计算手指个数
- 播布客教学视频_C学习笔记_4_判断奇偶
- 播布客教学视频_C学习笔记_6_table 9x9
- 播布客教学视频_C学习笔记_5_求1到100的和
- 播布客教学视频_C学习笔记_7_100内最大的素数(97)
- 播布客学习视频_C学习笔记_simple
- 韩顺平 javascript教学视频_学习笔记1_js课程介绍_js基本介绍
- 播布客学习视频_C学习笔记_2_打印输出
- 韩顺平 javascript教学视频_学习笔记15__构造函数_成员函数详解
- 韩顺平 javascript教学视频_学习笔记30_小球撞球游戏
- 韩顺平 javascript教学视频_学习笔记32_仿sohu频道切换效果
- 韩顺平老师的JAVA教学视频:解决约瑟夫问题
- this指针以及类的数组
- 播布客教学视频_C学习笔记_9.1_整形转字符串
- SharePoint Debug - This file is not a valid presentation file or contains multiple slides...
- K.Bro Sorting(杭电5122)(2014ACM/ICPC亚洲区北京站)
- 播布客教学视频_C学习笔记_9.2_整形转字符串(函数实现)
- 播布客教学视频_C学习笔记_10.1_约瑟夫环问题
- struts的相关概念
- 解决问题必搜站汇总
- 播布客教学视频_C学习笔记_10.2_约瑟夫环问题(数组链表)
- 【Android开发经验】<Activity>标签下常见属性介绍
- C语言:猜数游戏
- 使用 Docker 构建开发、测试环境
- Oracle那些不常用的SQL
- URLEncoder和URLDecoder