约瑟夫问题(Josephus problem)
来源:互联网 发布:成考与网络教育 编辑:程序博客网 时间:2024/06/06 03:23
题目——猴子选大王
一群猴子要选新猴王。新猴王的选择方法是:让N只候选猴子围成一圈,从某位置起顺序编号为1~N号。从第1号开始报数,每轮从1报到3,凡报到3的猴子即退出圈子,接着又从紧邻的下一只猴子开始同样的报数。如此不断循环,最后剩下的一只猴子就选为猴王。请问是原来第几号猴子当选猴王?
输入格式:
输入在一行中给一个正整数N(\le≤1000)。
输出格式:
在一行中输出当选猴王的编号。
输入样例:
11
输出样例:
7
解题方法
方法一(数组法):
#include<stdio.h> int main(){ int n,a[1001],i; scanf("%d",&n); for(i=0;i<n;i++){ a[i]=1; } int k=-1; for(i=0;i<n;i++){ int j=0; while(j<3){ k=(k+1)%n; if(a[k]==1) j++; } a[k]=0; } printf("%d",k+1); return 0; }
0 0
- 约瑟夫问题(Josephus problem)
- 约瑟夫问题(Josephus Problem)
- 约瑟夫问题(Josephus problem)
- 约瑟夫问题(Josephus problem)
- Josephus problem(约瑟夫问题)
- 约瑟夫问题Josephus problem
- 约瑟夫环问题(josephus problem)详解
- Algorithm Gossip: 约瑟夫问题(Josephus Problem)
- 约瑟夫(Josephus problem)环问题初探
- Java-约瑟夫问题(Josephus Problem)
- 关于约瑟夫问题(Josephus Problem)
- 约瑟夫(Josephus)问题
- 约瑟夫(Josephus)问题
- 约瑟夫(Josephus)问题
- 约瑟夫问题(Josephus problem)1:出列的序列
- 约瑟夫问题(Josephus problem)2:某人何时出列
- 约瑟夫问题(Josephus Problem)3:谁最后一个出列
- 约瑟夫问题(Josephus Problem)算法分析及代码
- 1026 Sudoku Killer
- 第一篇博客
- 判断两条线段是否相交
- iOS学习笔记69-再细读KVO
- 前端性能优化-减少重绘
- 约瑟夫问题(Josephus problem)
- 《Effective Java》builder模式创建对象
- filter过滤器 和拦截器的区别?
- 杭电1465
- iOS学习笔记70-使用NSURLConnection实现文件上传
- UVa 11059 Maximum Product
- php pack、unpack、ord 函数使用方法(二进制流接口应用实例)
- Mybatis最入门---动态查询(choose,when,otherwise)
- css复习 - 伪类,伪元素