上机编程题-约瑟夫问题(升级版)
来源:互联网 发布:南平seo自动优化软件 编辑:程序博客网 时间:2024/06/01 07:12
java 实现数据链表,动态模拟约瑟夫问题求解
package huawei;public final class Demo {/*功能: 约瑟夫问题众所周知,原始的约瑟夫问题是这样的:有n个人,编号为1,2,..., n,站成一圈,每次第m个将会被处决,直到只剩下一个人。约瑟夫通过给出m来决定赦免其中的一个人。例如当n=6,m=5时,5,4,6,2,3将会被依次处决,而1将会幸免。假如有k个好人,和k个坏人,所有人站成一圈,前k个人是好人,后k个人是坏人,编写程序计算一个最小的m,使k个坏人都被处决,而不处决任何好人。 输入: k 为正整数 输出: 返回: 最小的m,使k个坏人都被处决,而不处决任何好人。 */public static int getMinimumM(int K){ /*在这里实现功能*/int result = 1;while(true){boolean flag = true;for(int i = 0; i < K; i++){int n = 2*K - i;int temp_result = (result-1) % n; int temp_i = i; int temp_n = n;while(temp_i --> 0){temp_n++;temp_result = ( temp_result + result % temp_n ) % temp_n;}if(temp_result < K){flag = false;break;}}if(flag)break;result++;}return result;}class Node{int num;Node next =null;Node(int n){num = n;}}class CircleLink{Node first = null;Node temp = null;int total;int k,m;public void setTotal(int t){total = t;}public void setK(int t){k = t;}public void setM(int t){k = t;}public void create(){for(int i=1;i<=total;i++){if(i == 1){Node n=new Node(i);first = n;temp =n;}else{if(i == total){Node n = new Node(i);temp.next = n;temp = n;temp.next = first;}else{Node n = new Node(i);temp.next = n;temp = n;}}}}public boolean start(){int temp_total = total;Node temp = first;for(int i=1 ; i<k ; i++){ //k-1temp = temp.next;}while(total!=temp_total/2){//m timesfor(int i = 1; i<m; i++){temp = temp.next;}Node temp_kill = temp;while(temp_kill != temp){temp_kill = temp_kill.next;}temp_kill.next = temp.next;if(temp.num >=1 &&temp.num <temp_total/2){return false;}temp= temp.next;total--;}return true;}}}
0 0
- 上机编程题-约瑟夫问题(升级版)
- 约瑟夫问题升级版
- 约瑟夫问题--据说是华为上机题
- 上机编程题-迷宫问题
- 华为2012年上机考试----约瑟夫问题
- 华为上机练习题--约瑟夫环问题
- 第19周上机实践项目2——猴子选大王(约瑟夫问题)
- 华为上机笔试题之约瑟夫环
- (编程题目)约瑟夫问题(实用C++编出一个程序解决约瑟夫问题)--凌风
- 约瑟夫斯问题及其编程
- 编程实现约瑟夫环问题
- 在线编程--约瑟夫问题I
- 在线编程--约瑟夫问题II
- 约瑟夫环问题编程实现
- 编程实现约瑟夫环问题
- C/C++编程题 约瑟夫环问题分析
- POJ-2746:约瑟夫问题(Java版)
- 实习题-约瑟夫环问题(一)
- VS2008+Qt4.7.3+VTK5.10.1+PCL1.5.1
- 修改myeclipse的jsp模板
- android:persistentDrawingCache含义
- distribute_crawler项目实战
- jQuery 效果 - slideToggle() 方法
- 上机编程题-约瑟夫问题(升级版)
- p1016 深搜
- 前端的Project示例
- Install Scala and SBT using apt-get on Ubuntu 14.04 or any Debian derivative using apt-get
- Java成员变量的访问权限
- Alipay秘钥校验工具
- 在SDK中使用GDI+出现的编译问题解决方法
- 初识Halcon
- IOS本地化操作