经典算法之约瑟夫环问题
来源:互联网 发布:ug软件好学吗 编辑:程序博客网 时间:2024/05/01 22:41
前几天看到一个编程题,约瑟夫环问题。问题的由来是一个犹太故事,41一个人被困,有39个人想要自杀,想活下去的两个人就出主意说,大家围成一个环,报到3的人自杀。结果两个人成功脱险,也就诞生了这个算法。
由于本人实力有限,写出的程序也并未进行优化,可能时间复杂度和空间复杂度上有很多问题,只希望给各位网友一些思路。
ps:有一个懂算法的朋友是件多么幸福的事儿啊,请善待身边的程序员朋友。。
public class YSFRing {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Ring(41,3);
}
public static void Ring(int personNum,int killNum){
int pos = -1;
int i = 1;//报的数
int j = personNum;
int k = 0;
int[] arr = new int[personNum];
while(j>=killNum){
pos = (pos+1)%personNum;//pos为数组脚标,并进行环处理
if(arr[pos]==0){
if(i==killNum){
arr[pos] = i;
j--;
i=0;
k++;
int p = pos+1;
System.out.println("第"+k+"个人被干掉了!==========位置是"+p);
}
i++;
}
}
for(int s=0;s<arr.length;s++){
if(arr[s]==0){
pos = s+1;
System.out.println("位置"+pos+"的人还活着");
}
}
}
- 经典算法之约瑟夫环问题
- 经典算法之约瑟夫问题
- 经典算法问题之约瑟夫问题
- 【经典算法】约瑟夫环
- 经典约瑟夫环问题
- 算法之约瑟夫问题
- 赌博算法之约瑟夫环问题(JAVA)
- 算法学习笔记之约瑟夫环问题
- 算法学习之约瑟夫环问题
- 经典算法问题1——约瑟夫环
- 经典算法<二>约瑟夫问题 C++实现
- 约瑟夫环算法问题
- 算法----约瑟夫环问题
- 算法 约瑟夫环问题
- [算法]约瑟夫环问题
- (算法)约瑟夫环问题
- 循环链表之经典约瑟夫环问题
- 算法之约瑟夫环
- virtualbox 主机虚拟机互ping通,虚拟机可以上网 ssh连接设置
- UIView的setNeedsDisplay和setNeedsLayout方法
- 捉虫记录:变量名设置出现重名
- 学习目标(语言类)
- 08-Rightmost Digit
- 经典算法之约瑟夫环问题
- C++中的引用变量用法总结
- table与div对待边框的一点儿区别
- 【Python】Python实现进制转换(二进制、十进制和十六进制)及注意事项
- Linux与Windows共享(Samba的配置)
- The method assertEquals(double, double) from the type Assert is deprecated
- 【Rails】Sass::SyntaxError in StaticPages#home错误的解决方案
- 微信/易信公共平台开发(一):开发了一个简单易用的PHP类(提供源码),十几行代码搞定一个公众号
- xcode Undefined symbols for architecture i386: