zoukankan      html  css  js  c++  java
  • Joseph_Circle(约瑟夫环)

    //约瑟夫环:已知n个人(以编号1,2,3...n分别表示)围坐在一张圆桌周围。从编号为k的人开始报数,

    //数到m的那个人出列;他的下一个人又从1开始报数,数到m的那个人又出列;依次规律重复下去,直到圆

    //桌周围的人全部出列。

    //Java源程序如下

    package Joseph_Circle;

    import java.util.ArrayList;

    import java.util.List;

    import java.util.Scanner;

    public class Joseph_circle {

      public static void Joseph(int total,int N,int count)

      {

      //初始化人数

        List<Integer> start = new ArrayList<Integer>(); //Java中的泛型,即ArrayList只能存放整型数

        for(int i=1;i<=total;i++)

        {

          start.add(i);

        }

        //从第k个开始计数

        int k=N;

        while(start.size()>0)

        {

          k = k + count - 1; //从第3个人开始数,数5个人,应该是第7个人

          //第m个人的位置

          k = k % (start.size()) - 1;

          //判断是否到队尾

          if(k<0)

          {

            System.out.print(start.get(start.size()-1) + "  ");

            start.remove(start.size() - 1);

            k=0;

          }

          else

          {

            System.out.print(start.get(k) + "  ");

            start.remove(k);

          }

        }

      }

      public static void main(String[] args)

      {

        Scanner reader=new Scanner(System.in);

        System.out.print("请输入总人数:");

        int totalNum=reader.nextInt();

        System.out.print("从第几个人开始报数:");

        int start_N=reader.nextInt();

        System.out.print("请输入报数的大小:");

        int cycleNum=reader.nextInt();

        Joseph(totalNum,start_N,cycleNum);

        reader.close();

      }

    }

    运行结果:

  • 相关阅读:
    JavaScript中的map()函数
    JS中去除字符串空白符
    JS中的reduce函数
    Javascript中中括号的几种形式
    Jquery点击加载更多
    百度编辑器的调用
    Newtonsoft.json 二次引用出错解决办法
    WebConfig配置文件
    jqGrid首次加载时不加载任何数据
    jqGrid列的统计
  • 原文地址:https://www.cnblogs.com/duanqibo/p/11193050.html
Copyright © 2011-2022 走看看