約瑟夫環問題

2021-04-18 18:40:10 字數 1056 閱讀 2233

#include

#include

typedef struct node

int num;

int **;

struct node *next;

}jos;

jos create();

void outs(jos *h,int m);

main()

int m;jos *h;

h=create();

printf("/n enter the begin seret code,m=(m>1) ");

scanf("%d",&m);

outs(h,m);

jos *create()

int i=0,mi;

jos *new,*pre,*h;

h=(jos *)malloc(sizeof(jos));

h->;link=h;

pre=h;

printf("/n 個人密碼=?");scanf("%d",&mi);

while(mi !=-111)

new=(jos *)malloc(sezeof(jos));

i++;new->num=i; new->**=mi;

new->link=h;

pre->link=new;

pre=new;

printf("/n 個人密碼=?");scanf("%d",&mi);

pre->link=h->link; free(h);

h=pre->link; return(h);

void outs(jos *h,int m)

int i;jos *q=h,p;

printf("/n");

while(q->link!=q)

for(i=1;inum,q->**};

printf("%6d %6d",q->num,q->**);

p->link=q->link; free(q);

q=p->link;

printf("%6d %6d /n",q->num,q->**);

free(q);

約瑟夫問題 約瑟夫環

約瑟夫 問題 有時也稱為約瑟夫斯置換,是乙個出現在電腦科學和數學中的問題。在計算機程式設計的演算法中,類似問題又稱為約瑟夫環。又稱 丟手絹問題 據說著名猶太歷史學家 josephus有過以下的故事 在羅馬人占領喬塔帕特後,39 個猶太人與josephus及他的朋友躲到乙個洞中,39個猶太人決定寧願死...

約瑟夫問題 約瑟夫環

約瑟夫問題 有時也稱為約瑟夫斯置換,是乙個出現在電腦科學和數學中的問題。在計算機程式設計的演算法中,類似問題又稱為約瑟夫環。又稱 丟手絹問題 據說著名猶太歷史學家 josephus有過以下的故事 在羅馬人占領喬塔帕特後,39 個猶太人與josephus及他的朋友躲到乙個洞中,39個猶太人決定寧願死也...

約瑟夫環問題

約瑟夫環問題 問題描述 編號是1,2,n的n個人按照順時針方向圍坐一圈,每個人持有乙個密碼 正整數 一開始任選乙個正整數作為報數上限值m,從第乙個人開始順時針方向自1開始順序報數,報到m時停止報數。報m的人出列,將他的密碼作為新的m值,從他在順時針方向的下乙個人開始重新從1報數,如此下去,直到所有人...