首页 > 其他 > 详细

约瑟夫环

时间:2020-12-17 00:25:19      阅读:42      评论:0      收藏:0      [点我收藏+]
 1 //约瑟夫环
 2 #include <iostream>
 3 using namespace std;
 4 struct list
 5 {
 6     int number;
 7     list *next;
 8 };
 9 int main()
10 {
11     list *head, *s, *p, *q;
12     int n, i;
13     while (cin >> n)
14     {
15         s = new list;
16         s->number = 1;
17         head = s;
18 
19 
20         for (i = 2; i <= n; ++i)
21         {
22             p = s;
23             s = new list;
24             p->next = s;
25             s->number = i;
26         }
27         s->next = head;
28         int beg, cou;
29         cin >> beg >> cou;
30         q = s;
31         p = head;
32         for (i = 1; i < beg; ++i)
33         {
34             q = p;
35             p = p->next;
36         }
37         int num = 0;
38         while (1)
39         {
40             num++;
41             if (num == n)
42             {
43                 break;
44             }
45             for (i = 1; i < cou; ++i)
46             {
47                 q = p;
48                 p = p->next;
49             }
50             q->next = p->next;
51             cout<<p->number<<endl;
52             delete p;
53             p = NULL;
54             p = q->next;
55         }
56        
57         cout << p->number << endl;
58     }
59     return 0;
60 }

 

约瑟夫环

原文:https://www.cnblogs.com/dss-99/p/14146876.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!