『每日一题 2012-02-10』猴子选大王问题 C语言实现
2012-02-10 13:56
489 查看
问题描述:
办法如下:猴子按1,2,。。。,n编号围坐一圈,从第一只开始,按1,2,。。。,m报数,报m的退出,从下一只开始,继续循环报数,剩下的最后一只猴子就是大王,编程输出大王的序号。
程序实现:
办法如下:猴子按1,2,。。。,n编号围坐一圈,从第一只开始,按1,2,。。。,m报数,报m的退出,从下一只开始,继续循环报数,剩下的最后一只猴子就是大王,编程输出大王的序号。
程序实现:
#include <stdio.h> #define NUMBER_OF_MONKEY 9 //猴子数目 #define M 3 //报数时的最大数字 int main() { int i=0,postion=-1,num=NUMBER_OF_MONKEY; int monkey[NUMBER_OF_MONKEY]; for (i=0;i<NUMBER_OF_MONKEY;i++) { monkey[i]=1; //为1时,表示猴子有权利竞选 } while(num>1) { i=0; while (i<M) { postion=(postion+1)%NUMBER_OF_MONKEY; if (1==monkey[postion]) i++; } printf("第%d只猴子被淘汰\n",postion+1); monkey[postion]=0; num--; } for (i=0;i<NUMBER_OF_MONKEY;i++) { if (1==monkey[i]) { printf("获胜的是第%d只猴子",i+1); } } printf("\n"); }
相关文章推荐
- C语言实现猴子选大王(约瑟夫问题)
- 约瑟夫问题(猴子选大王) 链表实现
- java实现猴子选大王问题(约瑟夫问题)
- C语言实现的猴子分桃问题算法解决方案
- php实现猴子选大王问题算法实例
- 用c语言实现 猴子吃桃问题
- 约瑟夫问题的PHP实现——猴子选大王的问题
- 猴子选大王问题--C++实现
- php实现猴子选大王问题算法实例
- 单链表实现猴子选大王(约瑟夫环问题)
- 猴子选大王(约瑟夫问题)JAVA实现
- 【C语言】猴子选大王问题
- 一个猴子选大王问题程序(c++实现)
- 循环链表实现Joseph环(约瑟夫环)猴子选大王类似问题
- 递归——实现猴子选大王的问题
- 猴子吃桃问题(C语言实现)
- C语言实现的猴子吃桃问题算法解决方案
- C语言实现 猴子吃桃问题
- 猴子选大王问题的实现
- 通过Astar算法实现8数码问题(C语言)