<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    隨筆 - 78  文章 - 25  trackbacks - 0
    <2014年1月>
    2930311234
    567891011
    12131415161718
    19202122232425
    2627282930311
    2345678

    常用鏈接

    留言簿

    隨筆分類(75)

    隨筆檔案(78)

    相冊

    實用Links

    我的Links

    搜索

    •  

    積分與排名

    • 積分 - 114034
    • 排名 - 516

    最新評論

    閱讀排行榜

    評論排行榜

    由m個人圍成一個首尾相連的圈報數。從第一個人開始,從1開始報數,報到n的人出圈,剩下的人繼續從1開始報數,直到所有的人都出圈為止。對于給定的m和n,求出所有人的出圈順序.

    import java.util.Scanner;
    /**
    *使用數組實現約瑟夫環問題
    *由m個人圍成一個首尾相連的圈報數。
    *從第一個人開始,從1開始報數,報到n的人出圈,
    *剩下的人繼續從1開始報數,直到所有的人都出圈為止。
    *對于給定的m和n,求出所有人的出圈順序.
    */
    public class RingTest{
        
    public static void main(String[] args){
            System.out.println(
    "程序說明如下:");
            System.out.println(
    "由m個人圍成一個首尾相連的圈報數。從第一個人開始,從1開始報數,報到n的人出圈,剩下的人繼續從1開始報數,直到所有的人都出圈為止。對于給定的m和n,求出所有人的出圈順序.");
            
            
    //提示輸入總人數
            System.out.println("請輸入做這個游戲的總人數:");
            Scanner sca
    =new Scanner(System.in);
            
    int m=sca.nextInt();
            
    //提示輸入要出圈的數值
            System.out.println("請輸入要出圈的數值:");        
            
    int n=sca.nextInt();
            System.out.println(
    "按出圈的次序輸出序號:");        
            
    //創建有m個值的數組
            int[] a=new int[m];
            
    //初始長度,以后出圈一個,長度就減一
            int len=m;
            
    //給數組賦值
            for(int i=0;i<a.length;i++)
                a[i]
    =i+1;
            
    //i為元素下表,j代表當前要報的數
            int i=0;
            
    int j=1;
            
    while(len>0){
                
    if(a[i%m]>0){
                    
    if(j%n==0){//找到要出圈的人,并把圈中人數減一
                        System.out.print(a[i%m]+"  ");
                        a[i
    %m]=-1;
                        j
    =1;
                        i
    ++;
                        len
    --;
                    }
    else{
                        i
    ++;
                        j
    ++;
                    }
                }
    else{//遇到空位了,就跳到下一位,但j不加一,也就是這個位置沒有報數
                    i++;
                }
            }
        }
    }

    posted on 2010-01-15 23:45 期待明天 閱讀(17115) 評論(4)  編輯  收藏 所屬分類: Java

    FeedBack:
    # re: java實現約瑟夫環問題 2013-01-16 21:47 韓雪
    你的java約瑟夫環問題我看懂了!!寫的挺好的。我是菜鳥級別的希望以后多請教了  回復  更多評論
      
    # re: java實現約瑟夫環問題[未登錄] 2014-01-02 09:02 bobo
    寫的非常好  回復  更多評論
      
    # re: java實現約瑟夫環問題[未登錄] 2014-03-20 21:54 ccc
    思路很清晰,很好理解  回復  更多評論
      
    # re: java實現約瑟夫環問題 2015-07-18 15:11 re
    注釋清楚,可以直觀地理解思路,贊。  回復  更多評論
      
    主站蜘蛛池模板: 国产亚洲精品成人AA片新蒲金| 亚洲一区二区三区写真| 18禁免费无码无遮挡不卡网站| 2021免费日韩视频网| 亚洲精品综合一二三区在线| 亚洲av永久无码嘿嘿嘿| 18国产精品白浆在线观看免费| 亚洲av成人一区二区三区在线观看| 亚洲成人在线网站| 国产一精品一AV一免费| 久久亚洲一区二区| 亚洲av无码专区亚洲av不卡| 日韩免费在线观看视频| 亚洲成年轻人电影网站www| 99re6免费视频| 亚洲中文字幕无码一去台湾| 成人毛片手机版免费看| 免费一级全黄少妇性色生活片| 99久久国产免费-99久久国产免费 99久久国产免费中文无字幕 | 无码av免费毛片一区二区| 亚洲综合图片小说区热久久| 一级做a爰片久久毛片免费陪 | 8090在线观看免费观看| 国产成人精品曰本亚洲79ren| 亚洲国产av美女网站| 国产va在线观看免费| 亚洲精品国产成人中文| 人妻视频一区二区三区免费| 亚洲人成亚洲人成在线观看| 亚洲成a人无码亚洲成av无码 | 国产精品亚洲专区无码不卡| 亚洲精品岛国片在线观看| 99视频在线免费观看| 亚洲精品线路一在线观看| 免费在线看黄网站| 亚洲国产熟亚洲女视频| 亚洲乱码日产精品a级毛片久久| 亚洲熟女乱色一区二区三区 | 在线免费观看视频你懂的| 亚洲国产亚洲片在线观看播放| 久久免费国产精品一区二区|