編號為1~n的n個人按順時針方向圍坐一圈,每人持有乙個密碼(正整數,可以自由輸入),開始人選乙個正整數作為報數上限值m,從第乙個人按順時針方向自1開始順序報數,報道m時停止報數。報m的人出列,將他的密碼作為新的m值,從他順時針方向上的下乙個人開始從1報數,如此下去,直至所有人全部出列為止。
#include#includestruct node
; typedef struct node node; //重定義struct node型別為node
node* creat(int n);
int main()
printf("%d->",p->next->data);
temp = p->next;
p->next = temp->next;
free(temp);
p = p->next;
scanf("%d",&m);
m %= n;
} printf("%d\n",p->data);
return 0;
} node* creat(int n)
s->next = head->next;
} free(head);
return s->next;
}
執行結果: 約瑟夫問題的公升級版
最近寫的乙個約瑟夫問題 建立迴圈單鏈表 p next pre 最後乙個節點指向第乙個結點,形成迴圈鍊錶 return pre void dele linklist l,int m temp p num 當這個人出去時,將他的值作為新密碼 printf 5d p num count s p 鍊錶的刪除...
約瑟夫環公升級版
題目 問題分析 和約瑟夫問題不同的是,公升級版多了乙個密碼,這個密碼可以從線性表匯入,也就是在建立結點時,有三個區域密碼域password 資料域位置position 指標域next。如下圖所示 實現 import ds01.動態陣列.arraylist 約瑟夫環公升級版 public class ...
賣票問題公升級版
1 package com.hw.third0225 23 public class windowticket implements runnable910 override 11public void run 20 2122 try catch interruptedexception e 28 ...