當前位置:編程學習大全網 - 網站源碼 - C語言解決"約瑟夫問題"

C語言解決"約瑟夫問題"

#include<stdio.h>

struct list//建立壹個結構體,包括每個人的編號,密碼和下壹級的指針

{

int id;

struct list *next;

};

list* input(int n)//鏈表的初始化

{

list *p,*q,*l;

int i,m;

p=new list;

l=new list;

l->next=NULL;

p=l;

p->id=1;//第壹個人的初始化

for(i=2;i<=n;i++)//第二個人到第num個人的初始化

{

q=new list;

q->id=i;

q->next=NULL;

p->next=q;

p=q;

}

p->next=l;//使表尾指向表頭,成循環鏈表

return p;

}

int main()

{

int num,m1,i;

list *q,*p;

printf("輸入人數:");

while(scanf("%d",&num)!=EOF)

{

printf("密碼為:");

scanf("%d",&m1);

p=input(num);

printf("最後壹人序號為:");

while(p->next!=p)

{

for(i=1;i<=m1;i++)

{

q=p;

p=p->next;

}

q->next=p->next;

delete p;

p=q;

}

printf("%4d",p->id);

delete p;

printf("\n");

}

}

  • 上一篇:預測股票的方法有幾種
  • 下一篇:在WPF中,LightningChart組件可用於那些不同的綁定級別版本呢,有知道的嘛
  • copyright 2024編程學習大全網