-
#include
void main()
建立一系列孩子。
const int num=10;子項的數量。
int interval;每次數孩子,讓他們走。
int a[num];孩子們的陣列。
給孩子編號。
for(int i=0; i>interval;
我們輸出所有參與的孩子。
for(int i=0; icout int i=-1;陣列下標(下乙個值 0 是第乙個子項的下標)。
在獲勝之前與小孩打交道。
while(1){
我數著圈子裡的間隔子。
for(int j=0; ji=(i+1)%num;在下標中加 1 以求模量。
if(a[i]!=0)如果元素的子元素在圓圈中,則計數被識別為有效的 j++;
if(k==num) break;孩子是最後乙個(贏家)嗎?
cout k++;準備處理圍欄裡的下乙個孩子。
break 語句。
-
約瑟夫環根本不需要用鍊表處理,只需要乙個一維陣列。 非要用鍊表來處理嗎?這樣比較麻煩。。
-
自己編寫的C++程式。
希望對你有所幫助。
約瑟夫·林·約瑟夫
是乙個數學應用問題:
已知 n 個個體(數字 1、2、3....n)圍坐在圓桌旁。從數字為k的人開始,數到m的人不在佇列中; 他的下乙個人從 1 開始數,數到 m 的人又出去了;
重複這一過程,直到圓桌會議周圍的所有人都排成一排。
例如:n = 9, m = 5
答]噴射器的順序為 5、1、7、4、3、6、9、2、8。*/
#include
using namespace std;
struct list
struct list *last;
int data;
int xh;
struct list *next;
int main()
int n, m;
cin>>n>>m;
int i;
list *h=null,*q=null,*d=null;
for(i=1;i<=n;i++)
list *p=new list;
p->last=null;
p->data=0;
p->xh=i;
p->next=null;
if(h==null)
h=p;q=h;
elseq->next=p;
p->last=q;
q=p;q->next=h;
h->last=q;
q=h;i=1;
while(q->last!=q)
if(i>m)
i=i%m;
q->data=i;
if(q->data==m)
coutq->last->next=q->next;
q->next->last=q->last;
d=q;q=q->next;
delete d;
elseq=q->next;
i++;coutsystem("pause");
return 0;
-
約瑟夫環問題有乙個遞迴公式,請自行訪問維基百科。
-
約瑟夫之環(Joseph's Problem)是乙個數學應用問題:已知n個個體(數字為1,2,3......n)圍坐在圓桌旁。
從數字為k的人開始,數到m的人不在佇列中; 他的下乙個人從1開始數,數到M的人又被李晗列出來了; 重複這一過程,直到圓桌會議周圍的所有人都排成一排。 通常在解決這類問題時,我們將數字從 0 n-1 彎曲,最後消音 1 結果 +1 是原始問題的解。
你明顯的問題是訊號線,而你的顯示卡頻率設定得越高,拖拽就越嚴重,現在很多線的表面看起來很厚,但實際上,裡面傳輸訊號的線很細,遮蔽層很差,然後是磁環, 磁環主要是為了抑制干擾,即防止外界干擾源干擾線路內部的訊號傳輸,所以雙磁環的線路肯定比單磁環的線路好,那麼在購買這種線材的時候最好購買有品牌的產品, 不要買不知名的品牌,畢竟電腦是天天用的,以免顯示效果差,影響心情。