迴圈鍊錶問題

2021-07-14 02:12:35 字數 677 閱讀 9094

首先是約瑟夫問題

**來自魚c工作室

typedef struct node

node;

node *create(int n)

s->next = head->next;

}free(head);

return

s->next;

}

int main()

printf("%d\n", p->data);

return

0;}

高階版的問題是這樣的:編號1–n個人,每人乙個密碼(可輸入),開始人選乙個正整數作為報數上限m,從第乙個開始按順序報,報到m停止,m出列並將其密碼作為新的m,直到全部人出列。

以下**是自己寫的。

重新寫了建立迴圈鍊錶的部分

node *createx(int n)

s->next = head->next;

}free(head);

return

s->next;

}

main函式部分:

int main()

printf("%d\n",p->data);

return

0;}

迴圈鍊錶 約瑟夫問題

設編號分別為 1,2,n的n個人圍坐一圈。約定序號為k 1 k n 的人從1開始計數,數到m的那個人出列,他的下一位又從1開始計數,數到m的那個人又出列,依次類推,直到所有人出列為止。演算法思路 1 先建立乙個有n個結點的單迴圈鍊錶,編號從1到n,代表n個人。2 找到第k個結點,即第乙個開始報數的人...

(迴圈鍊錶)約瑟夫問題

time limit 1000 ms memory limit 65536 kib submit statistic n個人想玩殘酷的死亡遊戲,遊戲規則如下 n個人進行編號,分別從1到n,排成乙個圈,順時針從1開始數到m,數到m的人被殺,剩下的人繼續遊戲,活到最後的乙個人是勝利者。請輸出最後乙個人的...

迴圈鍊錶 約瑟夫問題

n個人想玩殘酷的死亡遊戲,遊戲規則如下 n個人進行編號,分別從1到n,排成乙個圈,順時針從1開始數到m,數到m的人被殺,剩下的人繼續遊戲,活到最後的乙個人是勝利者。請輸出最後乙個人的編號。input 輸入n和m值。output 輸出勝利者的編號。struct st cr int n 建立迴圈鍊錶 t...