//出圈(java)
import java.util.LinkedList;
import java.util.List;
public class Cycle {
//cycle
private static int cycle(int total,int k){
List<Integer> dataList = new LinkedList<Integer>();
for(int i=0;i<total;i++){
dataList.add(new Integer(i+1));
}
//定义下标,模拟应经去掉一个元素
int index =-1;
//一直循环去除数据,直到只剩下一个元素
while(dataList.size()>1){
index = (index+k)%dataList.size();//得到应该出局的下标
dataList.remove(index--);//返回它的值
}
return ((Integer)dataList.get(0)).intValue();
}
//主方法
public static void main(String[] args) {
System.out.println("该数字原来的位置是:"+ cycle(41,3));
}
}
//测试结果
该数字原来的位置是:31
分享到:
相关推荐
约瑟夫出圈问题:(用数组实现) 由m个人围成首尾相连的圈报数,从第1个人开始报,报到n的人出圈,剩下的人继续从1开始报数,直到所有的人出圈为止。对于给定的m和n(从键盘上输入),求出所有人的出圈顺序。
学习编语言的都可能会遇到的算法题,很典型
Java出圈问题编码,500人,每隔两人就出圈,记录每个人出圈的顺序。
java程序设计 圈叉游戏 applet
Java出圈问题编码,500人,每隔两人就出圈,查找最后剩下的人的编号。
《Java程序员面试笔试真题库》猿媛之家编著
N个人围圈数数的Java算法,比较有规律性的算法
java开发微信分享到朋友圈功能共14页.pdf.zip
JAVA FXGL 游戏示范 圈圈叉叉 可运行
本文分享了微信js-sdk+JAVA实现“分享到朋友圈”和“发送给朋友”功能介绍,大家可以参考一下
用数组实现约瑟夫出圈问题。 n个人排成一圈,从第一个人开始报数,从1开始报,报到m的人出圈,剩下的人继续开始从1报数,直到所有的人都出圈为止。对于给定的n,m,编写程序求出所有人的出圈顺序。
约瑟夫出圈问题源码,corejava实现
Java代码实现圆圈旋转效果,比如在线看电影缓存时的旋转圆圈,网页刷新时的旋转圆圈,等待时
60、java中有几种方法可以实现一个线程?用什么关键字修饰同步方法? stop()和suspend()方法为何不推荐使用? 答:有两种实现方法,分别是继承Thread类与实现Runnable接口 用synchronized关键字修饰同步方法 反对使用...
用Java定义一个循环链表,实现链表的基本操作: 初始化*、获取头结点、添加新元素*、删除链表元素 、获取链表元素*、查找链表元素*、更新链表中某个元素、 判断链表是否为空、求链表元素个数、输出链表元素、清空...
随着越来越多的第三方语言(Groovy、Scala、JRuby等)在Java虚拟机上运行,Java也俨然成为了一个充满活力的生态圈。《实战Java虚拟机——JVM故障诊断与性能优化》将通过200余示例详细介绍Java虚拟机中的各种参数配置...
[Java算法练习]-围圈报数.java
GIAC 2016 - Java生态圈与微服务-丁雪丰-1.1.pdf