日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

C/C++02: Josephus问题

發布時間:2025/3/15 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 C/C++02: Josephus问题 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
據說著名猶太歷史學家Josephus有過以下的故事: 在羅馬人占領喬塔帕特後,39個猶太人與Josephus及他的朋友躲到一個洞中,39個猶太人決定寧愿死也不要被人抓到,于是決定了一個自殺方式,41個人排成一個圓圈,由第1個人開始報數,每報數到第3人該人就必須自殺,然后再由下一個重新報數,直到所有人都自殺身亡為止。 然而Josephus和他的朋友并不想遵從,Josephus要他的朋友先假裝遵從,他將朋友與自己安排在第16個與第31個位置,于是逃過了這場死亡游戲。 用循環列表的數據結構是比較容易實現的,下面是我曾經用數組的方法(純粹是為了玩一玩)完成的C程序,應該在實現上還可以有改進。 1 #include <stdio.h> 2 3 int main() 4 { 5 int N = 41; 6 int i = 1; 7 int m = 3; 8 int MAX = N; 9 int k, t; 10 int a[100], b[100]; 11 for (k = 0; k < N; k++) 12 { 13 b[k] = k + 1; 14 } 15 for(k = 0; k < MAX; k++) 16 { 17 t = (i + m - 1) % N; 18 if (t - 1 < 0) 19 { 20 a[k] = b[N-1]; 21 i = N; 22 } 23 else 24 { 25 a[k] = b[t-1]; 26 i = t; 27 while (t < N) 28 { 29 b[t-1] = b[t]; 30 t++; 31 } 32 } 33 N = N - 1; 34 printf("%i ", a[k]); 35 } 36 printf("\n"); 37 return 0; 38 }

?

轉載于:https://www.cnblogs.com/toorist/p/4845304.html

總結

以上是生活随笔為你收集整理的C/C++02: Josephus问题的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。