# include & ltstdio.h & gt
구조 노드 {
Int 데이터
구조 노드 * next
} 노드, * 목록, *p, * r;;
Void JOSEPHU(int n, int k, int m)
{
Int I, j;
List = NULL
For (I =1; 나<= n;; I++)
{
P= (구조 노드 *)malloc(sizeof (노드));
P->; 데이터 = I;;
If(list==NULL)
List = p;;
기타
R-> Next = p;;
R = p;;
}
P->; Next = list/* 루프 체인 생성 */
P = 목록;
For (I =1; 나< = n+1; I++)
{
Printf("%d ",p-> 데이터);
P = p-& gt;; 다음으로,
}
Printf ("\ n"); /* 연결된 목록을 인쇄하고 순환 연결된 목록이 올바르게 입력되었는지 확인합니다. */
P = 목록;
I =1;
그리고 (p & amp& amp 나<k)
{r = p;;
P = p-& gt;; 다음으로,
++I;
}
For (I =1; 나 & ltn;; I++)
{
For (j =1; J & ltm;; J++)
{r = p;;
P = p-& gt;; 다음으로,
}
Printf(" out =% d \ n ",p-> 데이터);
R-> Next = p-& gt;; 다음으로,
}
}
Void main ()
{
Int x, y, z;
Printf ("입력 길이 n \ n"); /* n, k, m 은 총 인원수, 첫 번째 신고자, 간격 인원수 */
Scanf("%d ",& ampx);
Printf ("입력 시작 k \ n");
Scanf("%d ",& ampy);
Printf ("m 입력 \ n");
Scanf("%d ",& ampz);
조셉 (x, y, z);
}