有100个人围成一个圈,从1开始报数,报到14的这个人就要退出。然后其他人重新开始,从1报数,到14退出。问:最后剩下的是100人中的第几个人?

原创 2016年06月01日 20:12:38
1.有100个人围成一个圈,从1开始报数,报到14的这个人就要退出。然后其他人重新开始,从1报数,到14退出。

  问:最后剩下的是100人中的第几个人?

import java.util.LinkedList;
import java.util.List;
public class Test10 {
	public static void main(String[] args) {
        game(100, 14);
}

public static void game(int person, int num) {
        List<Integer> list = new LinkedList<Integer>();
        for (int i = 1; i <= person; i++) {
                list.add(i);
        }
        int pos = 0;
        while (list.size() > 1) {
                pos = (pos + num - 1) % list.size();
                list.remove(pos);

        }
        System.out.println(person + "人玩数" + num +
                        ",最后剩下的是第" + list.get(0) + "人");
 }
}


版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

Delphi7高级应用开发随书源码

  • 2003年04月30日 00:00
  • 676KB
  • 下载

有 100 个人围成一个圈,从 1 开始报数,报到 14 的这个人就要退出。然后其他人重新开始, 从 1 报数,到 14 退出。问:最后剩下的是 100 人中的第几个人?

package com.heima.test;import java.util.ArrayList;public class Test21 { /**有 100 个人围成一个圈,从 1 开始报数...

【约瑟夫环】Java实现:100个人开始从1开始报数,每当报数到3,报数3的人离开,求最后留下来人的位置。

问题背景:约瑟夫环问题 在这里写一个简单的约瑟夫环的问题:100个人坐成一圈开始从1开始报数,每个报数为3的人离开座位,直到座位上只剩下一个人,求这个人的位置。解决问题使用的工...

一道面试题,100个人围成一个圈,然后报数。

来上海快2周了,工作还没有着落。今天去一家公司面试,笔试题做的蛮好的,但是最后面试官问了一个问题,没答上来,然后就没戏了。 回去之后想想这个题的思路。题目是这样的: 100个人围成一个圈,各自的编号是...

一个100人围城一圈的算法。

先上题目吧 有100个人围成一个圈, 从1开始报数,报到14的这个人就要退出。  * 然后其他人重新开始,从1报数,到14退出。问:最后剩下的是100人中的第几个人? 代码: packa...

ADC小知识

1. AD转换器的分类  下面简要介绍常用的几种类型的基本原理及特点:积分型、逐次逼近型、并行比较型/串并行型、Σ-Δ调制型、电容阵列逐次比较型及压频变换型。    1)积分型(如TLC7135)  ...

数据结构 — 归并排序

一、归并排序算法 1、归并:将两个以上的顺序表合并成一个新的有序表。 2、归并排序:假设有n个记录,看成n个有序序列(每个序列的长度是1),将其两两有序合并成 n/2 个含有两个或者一个元素的有序序列...

有100个人围成一个圈,从1开始报数,报到14的这个人就要退出

package com.itheima; import java.util.ArrayList; import java.util.List; /* * 10、 有100个人围成一个圈,从1开始...

报数游戏 有n个孩子站成一圈,从第一个孩子开始顺时针方向报数,报到3的人出列,下一个人继续从1报数, 直到最后剩下一个孩子为止。问剩下第几个孩子。

/* 报数游戏 有n个孩子站成一圈,从第一个孩子开始顺时针方向报数,报到3的人出列,下一个人继续从1报数, 直到最后剩下一个孩子为止。问剩下第几个孩子。下面的程序以10个孩子为例,模拟了这个过程,...

有n个人围成一圈,顺序排号。从第一个人开始报数(从1报到3),凡是报到3的人退出圈子,问最后留下的是原来第几号的那位

问题详情:有n个人围成一圈,顺序排号。从第一个人开始报数(从1报到3),凡是报到3的人退出圈子,问最后留下的是原来第几号的那位?我的代码:#include int main() { int n...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:有100个人围成一个圈,从1开始报数,报到14的这个人就要退出。然后其他人重新开始,从1报数,到14退出。问:最后剩下的是100人中的第几个人?
举报原因:
原因补充:

(最多只允许输入30个字)