迴圈鍊錶 Joseph問題

2021-10-04 13:29:52 字數 788 閱讀 5821

約瑟夫(joseph)問題:

編號為1,2,3,……n的n個人按順時針方向圍坐一圈,每個人持有乙個密碼(正整數),一開始任選乙個整數作為報數上限m,從第乙個人開始按順時針方向從自1開始報數,報到m時停止報數。報m的人出列,將他的密碼作為新的m的值,從他的順時針方向上的下乙個人開始重新從1報數,從此下去,直到所有人全部出列為止,設計乙個程式求出出列/順序。

#include

#include

typedef

struct node

lnode,

*linklist;

void

creatlist

(linklist &l,

int n)

;//建立乙個迴圈鍊錶,無頭結點,n為人數

void

joseph

(linklist &l,

int m)

;//m為第一次報數上限

intmain()

void

creatlist

(linklist &l,

int n)

r->next=l;

//迴圈鍊錶

l=r;

//用尾結點表示鍊錶-->因為是從第乙個人開始計算

}void

joseph

(linklist &l,

int m)

printf

("%d\n"

,l->code)

;free

(l);

}

迴圈鍊錶問題

首先是約瑟夫問題 來自魚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 高階版的問題是這樣的 編號...

約瑟夫迴圈問題uva305 Joseph

閒的無聊去找了道資料結構專欄的題目。沒想到是道數學題。模擬根本出不來。正好補了一下約瑟迴圈問題,有公式 f i f i 1 m i f 1 0 f i 代表的是當人數為i的時候,活下來的人是第幾個人 include include includeusing namespace std define ...

迴圈單鏈表 Joseph約瑟夫環問題

package com.linkedlist author qw date 2020 8 11 22 02 public class josephcircle 迴圈單鏈表 class circlesinglelinkedlist child cur null 輔助指標,幫助構建迴圈鍊錶 for in...