<pre id="bbfd9"><del id="bbfd9"><dfn id="bbfd9"></dfn></del></pre>

          <ruby id="bbfd9"></ruby><p id="bbfd9"><mark id="bbfd9"></mark></p>

          <p id="bbfd9"></p>

          <p id="bbfd9"><cite id="bbfd9"></cite></p>

            <th id="bbfd9"><form id="bbfd9"><dl id="bbfd9"></dl></form></th>

            <p id="bbfd9"><cite id="bbfd9"></cite></p><p id="bbfd9"></p>
            <p id="bbfd9"><cite id="bbfd9"><progress id="bbfd9"></progress></cite></p>
            C語言

            C語言用數組解決約瑟夫環問題

            時間:2024-11-21 05:04:32 C語言 我要投稿
            • 相關推薦

            C語言用數組解決約瑟夫環問題

              問題說明:

              在羅馬人占領喬塔帕特后,39 個猶太人與約瑟夫及他的朋友躲到一個洞中,大家決定寧愿自殺也不要被敵人抓到,于是確定了一個自殺方式,41個人排成一個圓圈,由第1個人開始報數,每報數到第3人該人就必須自殺,然后再由下一個重新報數,直到所有人都自殺身亡為止。然而約瑟夫和他的朋友并不想死去,那么他應該怎樣安排他和他的朋友的位置,才能逃脫這場死亡游戲呢?

              有N個編號為1~N的人圍成一圈,現在每隔兩個人(比如:1、4 之間隔了2、3)就將一個人淘汰出去,問最后剩下的是編號為幾的人?

              算法代碼如下:

              #include

              #include

              int main(void)

              {

              int people_count = 0;

              int *peoples = NULL;

              printf("please input people number: ");

              scanf("%d", &people_count);

              if (people_count < 2){

              printf("can't do Joseph\n");

              }

              peoples = (int *)calloc(people_count, sizeof(int));

              int i;

              for(i = 0; i < people_count; i++){

              peoples[i] = i+1;

              }

              i = 0;

              int j = 0;

              int rest = people_count;

              while(rest){

              if (i >= people_count){

              i %= people_count;

              }

              if (peoples[i] == 0){

              i++;

              continue;

              }

              if (j++ % 3 ==0 && rest > 1){

              printf("kill people NO. %d\n", peoples[i]);

              peoples[i] = 0;

              rest--;

              }else if (rest==1){

              printf("NO. %d is alive\n", peoples[i]);

              rest--;

              }

              i++;

              }

              system("pause");

              return 0;

              }

            【C語言用數組解決約瑟夫環問題】相關文章:

            C語言的循環鏈表和約瑟夫環09-29

            關于c語言約瑟夫問題輸出序號算法10-16

            C語言的數組與函數10-23

            C語言數組教程08-31

            什么是C語言數組10-03

            C語言數組與指針詳解08-15

            C語言數組的定義及引用08-05

            C語言數組方法08-06

            C語言數組元素的查詢08-02

                    <pre id="bbfd9"><del id="bbfd9"><dfn id="bbfd9"></dfn></del></pre>

                    <ruby id="bbfd9"></ruby><p id="bbfd9"><mark id="bbfd9"></mark></p>

                    <p id="bbfd9"></p>

                    <p id="bbfd9"><cite id="bbfd9"></cite></p>

                      <th id="bbfd9"><form id="bbfd9"><dl id="bbfd9"></dl></form></th>

                      <p id="bbfd9"><cite id="bbfd9"></cite></p><p id="bbfd9"></p>
                      <p id="bbfd9"><cite id="bbfd9"><progress id="bbfd9"></progress></cite></p>
                      飘沙影院