• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            Tauruser

            Enjoy Every Day
            posts - 34, comments - 95, trackbacks - 0, articles - 5
              C++博客 :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理
            /////////////////////////////////////////////////////////////////////////////
            ///          算法與數據結構 Josephus 問題解決方案          ///
            ///                用方法二遞歸進行出列運算源程序             ///
            /////////////////////////////////////////////////////////////////////////////

            #include <iostream>
            using namespace std;

            int n,s,m,count;//全局變量;count用來控制當前出列表的位置
            int *seat,*outlist;//座位表與出列表
            void out(int n,int s,int m,int *seat,int *outlist);//遞歸函數
            int main()
            {
                
            //參數輸入
                count=0;
                cout
            <<"please input n:";
                cin
            >>n;
                cout
            <<"please input s:";
                cin
            >>s;
                cout
            <<"plesae input m:";
                cin
            >>m;
                
                
            //分配座位表與出列表空間
                seat=new int[n];
                outlist
            =new int[n];
                
                
            //將變量轉化為系統內部index base 0;
                s--;
                
                
            //對各座位上people的編號,出列表全清為零

                
            for(int i(0);i<n;i++)
                
            {
                    seat[i]
            =i+1;
                    outlist[i]
            =0;
                }

                
            //遞歸進行出列運算
                out(n,s,m,seat,outlist);
                
                
            //輸出出列運算結果
                cout<<"the out people list is:";

                
            for(int i=0;i<n;i++)
                    cout
            <<"P"<<outlist[i]<<" ";

                
            //釋放座位表與出列表空間
                delete []seat;
                delete []outlist;
                
            return 0;

            }


            void out(int n,int s,int m,int *seat,int *outlist)
            {
                
            if(count==n) return;
                
            else
                
            {
                    s
            --;
                    
            for(int i(0);i<m;i++)
                    
            {
                        s
            ++;
                        
            if(s==n) s=0;
                        
            if(seat[s]==0) i--;        
                    }

                    outlist[count]
            =seat[s];//送入出列表
                    count++;
                    seat[s]
            =0;//已經出列設置標志零
                    out(n,s+1,m,seat,outlist);
                }

            }
            久久久久久精品成人免费图片| 亚洲а∨天堂久久精品| 人妻久久久一区二区三区| 久久综合久久自在自线精品自| 91精品国产色综合久久| 亚洲国产综合久久天堂| 久久精品国产清高在天天线| 久久九九免费高清视频| 婷婷五月深深久久精品| 一本大道久久a久久精品综合| 久久久久久久亚洲精品| 东京热TOKYO综合久久精品| 欧美日韩中文字幕久久伊人| 欧美亚洲国产精品久久| AV无码久久久久不卡蜜桃| 污污内射久久一区二区欧美日韩 | 久久国产精品-久久精品| 理论片午午伦夜理片久久| 久久国产色AV免费观看| 精品久久久一二三区| 久久91精品综合国产首页| 久久精品国产精品国产精品污 | 一本大道久久东京热无码AV| 国产99久久久国产精品~~牛| 一本色道久久综合亚洲精品| 伊人伊成久久人综合网777| 99精品伊人久久久大香线蕉| 国产精品岛国久久久久| 亚洲成色www久久网站夜月| 漂亮人妻被中出中文字幕久久| 狠狠色丁香婷婷综合久久来来去 | 久久发布国产伦子伦精品| 亚洲中文字幕久久精品无码喷水 | 国产成人无码精品久久久免费| 久久久久亚洲精品天堂| 91麻豆国产精品91久久久| 久久精品无码一区二区三区免费 | 久久99亚洲综合精品首页 | 尹人香蕉久久99天天拍| 久久这里只有精品视频99| 国产精品成人99久久久久91gav |