1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
| #include <stdio.h>
#include <stdlib.h>
typedef struct node* link;
struct node {
int item;
link next;
};
int main(int argc, char *argv[]) {
int i, N = atoi(argv[1]), M = atoi(argv[2]);
link head = malloc(sizeof(struct node)), x;
head->item = 1;
head->next = head;
for (i = 2, x = head; i <= N; i++) {
x = (x->next = malloc(sizeof *x));
x->item = i;
}
x->next = head;
while(x != x->next) {
for (i = 1; i < M; i++) x = x->next;
printf("%d ", x->next->item);
x->next = x->next->next;
}
printf("\nLeft: %d\n", x->item);
}
|